本文整理汇总了C++中codedocument::Iterator::skipWhitespace方法的典型用法代码示例。如果您正苦于以下问题:C++ Iterator::skipWhitespace方法的具体用法?C++ Iterator::skipWhitespace怎么用?C++ Iterator::skipWhitespace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类codedocument::Iterator
的用法示例。
在下文中一共展示了Iterator::skipWhitespace方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readNextToken
int CtrlrMIDIBufferTokeniser::readNextToken (CodeDocument::Iterator &source)
{
const juce_wchar c = source.peekNextChar();
int result = CtrlrMIDIBufferTokeniser::tokenType_rawData;
int pos = source.getPosition();
int prefixHigh = (tokenSet.prefixLen*3)-1;
int suffixLow = ((tokenSet.len) - (tokenSet.suffixLen*3));
int suffixHigh = tokenSet.len;
int dataLow = (tokenSet.dataOffset*3)-1;
int dataHigh = dataLow + ((tokenSet.dataLen*3));
int nameLow = (tokenSet.nameOffset*3)-1;
int nameHigh = nameLow + (tokenSet.nameLen*3);
source.skipWhitespace();
switch (c)
{
case 0:
source.skip();
return (result);
}
if (owner.getUnequalPosition().contains(pos))
{
source.skip();
return (tokenType_mismatch);
}
if (pos >= 0 && pos < prefixHigh && prefixHigh>0)
{
source.skip();
return (tokenType_prefix);
}
if (pos >= suffixLow && pos <= suffixHigh)
{
source.skip();
return (tokenType_suffix);
}
if (pos >= dataLow && pos < dataHigh)
{
source.skip();
return (tokenType_data);
}
if (pos >= nameLow && pos < nameHigh)
{
source.skip();
return (tokenType_name);
}
source.skip();
return result;
}
示例2: readNextToken
//==============================================================================
int CPlusPlusCodeTokeniser::readNextToken (CodeDocument::Iterator& source)
{
int result = tokenType_error;
source.skipWhitespace();
juce_wchar firstChar = source.peekNextChar();
switch (firstChar)
{
case 0:
source.skip();
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
result = CppTokeniser::parseNumber (source);
break;
case '.':
result = CppTokeniser::parseNumber (source);
if (result == tokenType_error)
result = tokenType_punctuation;
break;
case ',':
case ';':
case ':':
source.skip();
result = tokenType_punctuation;
break;
case '(':
case ')':
case '{':
case '}':
case '[':
case ']':
source.skip();
result = tokenType_bracket;
break;
case '"':
case '\'':
CppTokeniser::skipQuotedString (source);
result = tokenType_stringLiteral;
break;
case '+':
result = tokenType_operator;
source.skip();
if (source.peekNextChar() == '+')
source.skip();
else if (source.peekNextChar() == '=')
source.skip();
break;
case '-':
source.skip();
result = CppTokeniser::parseNumber (source);
if (result == tokenType_error)
{
result = tokenType_operator;
if (source.peekNextChar() == '-')
source.skip();
else if (source.peekNextChar() == '=')
source.skip();
}
break;
case '*':
case '%':
case '=':
case '!':
result = tokenType_operator;
source.skip();
if (source.peekNextChar() == '=')
source.skip();
break;
case '/':
result = tokenType_operator;
source.skip();
//.........这里部分代码省略.........
示例3: readNextToken
//==============================================================================
int CPlusPlusCodeTokeniser::readNextToken (CodeDocument::Iterator& source)
{
int result = tokenType_error;
source.skipWhitespace();
tchar firstChar = source.peekNextChar();
switch (firstChar)
{
case 0:
source.skip();
break;
case T('0'):
case T('1'):
case T('2'):
case T('3'):
case T('4'):
case T('5'):
case T('6'):
case T('7'):
case T('8'):
case T('9'):
result = CppTokeniser::parseNumber (source);
break;
case T('.'):
result = CppTokeniser::parseNumber (source);
if (result == tokenType_error)
result = tokenType_punctuation;
break;
case T(','):
case T(';'):
case T(':'):
source.skip();
result = tokenType_punctuation;
break;
case T('('):
case T(')'):
case T('{'):
case T('}'):
case T('['):
case T(']'):
source.skip();
result = tokenType_bracket;
break;
case T('"'):
case T('\''):
CppTokeniser::skipQuotedString (source);
result = tokenType_stringLiteral;
break;
case T('+'):
result = tokenType_operator;
source.skip();
if (source.peekNextChar() == T('+'))
source.skip();
else if (source.peekNextChar() == T('='))
source.skip();
break;
case T('-'):
source.skip();
result = CppTokeniser::parseNumber (source);
if (result == tokenType_error)
{
result = tokenType_operator;
if (source.peekNextChar() == T('-'))
source.skip();
else if (source.peekNextChar() == T('='))
source.skip();
}
break;
case T('*'):
case T('%'):
case T('='):
case T('!'):
result = tokenType_operator;
source.skip();
if (source.peekNextChar() == T('='))
source.skip();
break;
case T('/'):
result = tokenType_operator;
source.skip();
//.........这里部分代码省略.........