Lines Matching refs:string

39   using TokenList = std::vector<std::string>;
116 static TokenRange Split(const std::string& string, std::initializer_list<char> separators) { in Split()
119 std::string tok; in Split()
120 for (auto&& c : string) { in Split()
130 new_token_list.push_back(std::string() + sep); in Split()
166 const std::string& GetToken(size_t offset) const { in GetToken()
187 const std::string& operator[](int index) const {
232 TokenRange RemoveToken(const std::string& token) { in RemoveToken()
233 return RemoveIf([&](const std::string& tok) { return tok == token; }); in RemoveToken()
238 return RemoveIf([](const std::string& token) { return token.empty(); }); in DiscardEmpty()
243 TokenRange Slice(size_t offset, size_t length = std::string::npos) const {
246 if (length != std::string::npos && offset + length > Size()) {
251 if (length == std::string::npos) {
271 std::unique_ptr<TokenRange> MatchSubstrings(const std::string& string, in MatchSubstrings()
272 const std::string& wildcard) const { in MatchSubstrings()
275 size_t wildcard_idx = std::string::npos; in MatchSubstrings()
282 if (wildcard_idx != std::string::npos) { in MatchSubstrings()
284 std::string wildcard_substr = string.substr(wildcard_idx, wildcard_length); in MatchSubstrings()
287 wildcard_idx = std::string::npos; in MatchSubstrings()
292 const std::string& tok = *it; in MatchSubstrings()
300 size_t next_token_idx = string.find(tok); in MatchSubstrings()
301 if (next_token_idx == std::string::npos) { in MatchSubstrings()
304 } else if (next_token_idx != string_idx && wildcard_idx == std::string::npos) { in MatchSubstrings()
310 new_token_list.push_back(string.substr(next_token_idx, tok.size())); in MatchSubstrings()
315 size_t remaining = string.size() - string_idx; in MatchSubstrings()
317 if (wildcard_idx == std::string::npos) { in MatchSubstrings()
339 size_t MaybeMatches(const TokenRange& token_list, const std::string& wildcard) const { in MaybeMatches()
349 const std::string& name = *name_it; in MaybeMatches()
352 if (wildcard_idx == std::string::npos) { // No wildcard present in MaybeMatches()
358 std::string name_prefix = name.substr(0, wildcard_idx); in MaybeMatches()
377 std::string Join(char separator) const { in Join()
384 static bool StartsWith(const std::string& larger, const std::string& smaller) { in StartsWith()
421 const std::shared_ptr<std::vector<std::string>> token_list_;