本文整理汇总了C++中string::CharPointerType::compare方法的典型用法代码示例。如果您正苦于以下问题:C++ CharPointerType::compare方法的具体用法?C++ CharPointerType::compare怎么用?C++ CharPointerType::compare使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类string::CharPointerType
的用法示例。
在下文中一共展示了CharPointerType::compare方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: isReservedKeyword
bool isReservedKeyword (String::CharPointerType token, const int tokenLength) noexcept
{
static const char* const keywords2Char[] =
{ "if", "do", "or", "id", 0 };
static const char* const keywords3Char[] =
{ "for", "int", "new", "try", "xor", "and", "asm", "not", 0 };
static const char* const keywords4Char[] =
{ "bool", "void", "this", "true", "long", "else", "char",
"enum", "case", "goto", "auto", 0 };
static const char* const keywords5Char[] =
{ "while", "bitor", "break", "catch", "class", "compl", "const", "false",
"float", "short", "throw", "union", "using", "or_eq", 0 };
static const char* const keywords6Char[] =
{ "return", "struct", "and_eq", "bitand", "delete", "double", "extern",
"friend", "inline", "not_eq", "public", "sizeof", "static", "signed",
"switch", "typeid", "wchar_t", "xor_eq", 0};
static const char* const keywordsOther[] =
{ "const_cast", "continue", "default", "explicit", "mutable", "namespace",
"operator", "private", "protected", "register", "reinterpret_cast", "static_cast",
"template", "typedef", "typename", "unsigned", "virtual", "volatile",
"@implementation", "@interface", "@end", "@synthesize", "@dynamic", "@public",
"@private", "@property", "@protected", "@class", 0 };
const char* const* k;
switch (tokenLength)
{
case 2: k = keywords2Char; break;
case 3: k = keywords3Char; break;
case 4: k = keywords4Char; break;
case 5: k = keywords5Char; break;
case 6: k = keywords6Char; break;
default:
if (tokenLength < 2 || tokenLength > 16)
return false;
k = keywordsOther;
break;
}
int i = 0;
while (k[i] != 0)
{
if (token.compare (CharPointer_ASCII (k[i])) == 0)
return true;
++i;
}
return false;
}
示例2: isReservedKeyword
static bool isReservedKeyword (String::CharPointerType token, const int tokenLength) noexcept
{
static const char* const keywords2Char[] =
{ "if", "or", "in", "do", nullptr };
static const char* const keywords3Char[] =
{ "and", "end", "for", "nil", "not", nullptr };
static const char* const keywords4Char[] =
{ "then", "true", "else", nullptr };
static const char* const keywords5Char[] =
{ "false", "local", "until", "while", "break", nullptr };
static const char* const keywords6Char[] =
{ "repeat", "return", "elseif", nullptr};
static const char* const keywordsOther[] =
{ "function", "@interface", "@end", "@synthesize", "@dynamic", "@public",
"@private", "@property", "@protected", "@class", nullptr };
const char* const* k;
switch (tokenLength)
{
case 2: k = keywords2Char; break;
case 3: k = keywords3Char; break;
case 4: k = keywords4Char; break;
case 5: k = keywords5Char; break;
case 6: k = keywords6Char; break;
default:
if (tokenLength < 2 || tokenLength > 16)
return false;
k = keywordsOther;
break;
}
for (int i = 0; k[i] != 0; ++i)
if (token.compare (CharPointer_ASCII (k[i])) == 0)
return true;
return false;
}