10 bool IsLower(
char ch) {
return 'a' <= ch && ch <=
'z'; }
11 bool IsUpper(
char ch) {
return 'A' <= ch && ch <=
'Z'; }
12 char ToLower(
char ch) {
return IsUpper(ch) ? ch +
'a' -
'A' : ch; }
17 std::transform(
s.begin(),
s.end(),
s.begin(),
ToLower);
24 for(std::size_t i=0;i<str.size();i++)
44 bool firstcaps =
IsUpper(str[0]);
46 return firstcaps && (IsEntirely(rest,
IsLower) || IsEntirely(rest,
IsUpper));
66 if(!IsFlexibleCase(input))
69 for(
unsigned i=0;i<
sizeof(names)/
sizeof(names[0]);i++) {
70 if(names[i].truename == tolower(input)) {
75 if(names[i].falsename == tolower(input)) {
86 return input.empty() || input ==
"~" || input ==
"null" || input ==
"Null" || input ==
"NULL";