blob: 8cf78fc16c7045545cbd7182efe71426c6061b9d [file] [log] [blame]
// 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