Home | History | Annotate | Download | only in strings

Lines Matching refs:STR

158 StringType ToLowerASCIIImpl(BasicStringPiece<StringType> str) {
160 ret.reserve(str.size());
161 for (size_t i = 0; i < str.size(); i++)
162 ret.push_back(ToLowerASCII(str[i]));
167 StringType ToUpperASCIIImpl(BasicStringPiece<StringType> str) {
169 ret.reserve(str.size());
170 for (size_t i = 0; i < str.size(); i++)
171 ret.push_back(ToUpperASCII(str[i]));
177 std::string ToLowerASCII(StringPiece str) {
178 return ToLowerASCIIImpl<std::string>(str);
181 string16 ToLowerASCII(StringPiece16 str) {
182 return ToLowerASCIIImpl<string16>(str);
185 std::string ToUpperASCII(StringPiece str) {
186 return ToUpperASCIIImpl<std::string>(str);
189 string16 ToUpperASCII(StringPiece16 str) {
190 return ToUpperASCIIImpl<string16>(str);
248 template<typename STR>
249 bool ReplaceCharsT(const STR& input,
250 const STR& replace_chars,
251 const STR& replace_with,
252 STR* output) {
259 while (found != STR::npos) {
294 template<typename Str>
295 TrimPositions TrimStringT(const Str& input,
296 BasicStringPiece<Str> trim_chars,
298 Str* output) {
303 BasicStringPiece<Str> input_piece(input);
314 (first_good_char == Str::npos) || (last_good_char == Str::npos)) {
342 template<typename Str>
343 BasicStringPiece<Str> TrimStringPieceT(BasicStringPiece<Str> input,
344 BasicStringPiece<Str> trim_chars,
423 template<typename STR>
424 STR CollapseWhitespaceT(const STR& text,
426 STR result;
435 for (typename STR::const_iterator i(text.begin()); i != text.end(); ++i) {
515 bool IsStringASCII(const StringPiece& str) {
516 return DoIsStringASCII(str.data(), str.length());
519 bool IsStringASCII(const StringPiece16& str) {
520 return DoIsStringASCII(str.data(), str.length());
523 bool IsStringASCII(const string16& str) {
524 return DoIsStringASCII(str.data(), str.length());
528 bool IsStringASCII(const std::wstring& str) {
529 return DoIsStringASCII(str.data(), str.length());
533 bool IsStringUTF8(const StringPiece& str) {
534 const char *src = str.data();
535 int32_t src_len = static_cast<int32_t>(str.length());
562 template<typename Str>
563 static inline bool DoLowerCaseEqualsASCII(BasicStringPiece<Str> str,
565 if (str.size() != lowercase_ascii.size())
567 for (size_t i = 0; i < str.size(); i++) {
568 if (ToLowerASCII(str[i]) != lowercase_ascii[i])
574 bool LowerCaseEqualsASCII(StringPiece str, StringPiece lowercase_ascii) {
575 return DoLowerCaseEqualsASCII<std::string>(str, lowercase_ascii);
578 bool LowerCaseEqualsASCII(StringPiece16 str, StringPiece lowercase_ascii) {
579 return DoLowerCaseEqualsASCII<string16>(str, lowercase_ascii);
582 bool EqualsASCII(StringPiece16 str, StringPiece ascii) {
583 if (str.length() != ascii.length())
585 return std::equal(ascii.begin(), ascii.end(), str.begin());
588 template<typename Str>
589 bool StartsWithT(BasicStringPiece<Str> str,
590 BasicStringPiece<Str> search_for,
592 if (search_for.size() > str.size())
595 BasicStringPiece<Str> source = str.substr(0, search_for.size());
605 CaseInsensitiveCompareASCII<typename Str::value_type>());
613 bool StartsWith(StringPiece str,
616 return StartsWithT<std::string>(str, search_for, case_sensitivity);
619 bool StartsWith(StringPiece16 str,
622 return StartsWithT<string16>(str, search_for, case_sensitivity);
625 template <typename Str>
626 bool EndsWithT(BasicStringPiece<Str> str,
627 BasicStringPiece<Str> search_for,
629 if (search_for.size() > str.size())
632 BasicStringPiece<Str> source = str.substr(str.size() - search_for.size(),
643 CaseInsensitiveCompareASCII<typename Str::value_type>());
651 bool EndsWith(StringPiece str,
654 return EndsWithT<std::string>(str, search_for, case_sensitivity);
657 bool EndsWith(StringPiece16 str,
660 return EndsWithT<string16>(str, search_for, case_sensitivity);
714 // Runs in O(n) time in the length of |str|.
716 void DoReplaceSubstringsAfterOffset(StringType* str,
724 offset = str->find(find_this.data(), offset, find_this.size());
732 str->replace(offset, find_length, replace_with.data(), replace_with.size());
741 str->replace(offset, find_length,
743 offset = str->find(find_this.data(), offset + replace_length,
756 size_t str_length = str->length();
761 str->replace(write_offset, replace_length,
767 str->find(find_this.data(), read_offset, find_this.size()),
771 memmove(&(*str)[write_offset], &(*str)[read_offset],
776 str->resize(write_offset);
797 offset = str->find(find_this.data(), offset + find_length,
800 str->resize(final_length);
804 current_match = str->rfind(find_this.data(), current_match - 1,
810 memmove(&(*str)[write_offset], &(*str)[read_offset],
814 str->replace(write_offset, replace_length,
822 void ReplaceFirstSubstringAfterOffset(string16* str,
827 str, start_offset, find_this, replace_with, false); // Replace first.
830 void ReplaceFirstSubstringAfterOffset(std::string* str,
835 str, start_offset, find_this, replace_with, false); // Replace first.
838 void ReplaceSubstringsAfterOffset(string16* str,
843 str, start_offset, find_this, replace_with, true); // Replace all.
846 void ReplaceSubstringsAfterOffset(std::string* str,
851 str, start_offset, find_this, replace_with, true); // Replace all.
855 inline typename string_type::value_type* WriteIntoT(string_type* str,
858 str->reserve(length_with_null);
859 str->resize(length_with_null - 1);
860 return &((*str)[0]);
863 char* WriteInto(std::string* str, size_t length_with_null) {
864 return WriteIntoT(str, length_with_null);
867 char16* WriteInto(string16* str, size_t length_with_null) {
868 return WriteIntoT(str, length_with_null);
1022 // ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/{wcs,str}lcpy.c