| // This file contains string processing functions related to | |
| // uppercase, lowercase, etc. | |
| // | |
| // These functions are for ASCII only. If you need to process UTF8 strings, | |
| // take a look at files in i18n/utf8. | |
| #ifndef DYNAMIC_DEPTH_INTERNAL_STRINGS_CASE_H_ // NOLINT | |
| #define DYNAMIC_DEPTH_INTERNAL_STRINGS_CASE_H_ // NOLINT | |
| #include <string> | |
| #include "base/port.h" | |
| namespace dynamic_depth { | |
| // Returns true if the two strings are equal, case-insensitively speaking. | |
| // Uses C/POSIX locale. | |
| inline bool StringCaseEqual(const string& s1, const string& s2) { | |
| return strcasecmp(s1.c_str(), s2.c_str()) == 0; | |
| } | |
| // ---------------------------------------------------------------------- | |
| // LowerString() | |
| // LowerStringToBuf() | |
| // Convert the characters in "s" to lowercase. | |
| // Works only with ASCII strings; for UTF8, see ToLower in | |
| // util/utf8/public/unilib.h | |
| // Changes contents of "s". LowerStringToBuf copies at most | |
| // "n" characters (including the terminating '\0') from "s" | |
| // to another buffer. | |
| // ---------------------------------------------------------------------- | |
| void LowerString(string* s); | |
| namespace strings { | |
| inline string ToLower(const string& s) { | |
| string out(s); | |
| LowerString(&out); | |
| return out; | |
| } | |
| } // namespace strings | |
| } // namespace dynamic_depth | |
| #endif // DYNAMIC_DEPTH_INTERNAL_STRINGS_CASE_H_ // NOLINT |