static unsigned long long getInteger(CSSTokenizerInputStream& input, unsigned& offset) { unsigned intStartPos = offset; offset = input.skipWhilePredicate<isASCIIDigit>(offset); unsigned intEndPos = offset; return input.getUInt(intStartPos, intEndPos); }
static unsigned long long getExponent(CSSTokenizerInputStream& input, unsigned& offset, int& sign) { unsigned exponentStartPos = 0; unsigned exponentEndPos = 0; if ((input.peek(offset) == 'E' || input.peek(offset) == 'e')) { int offsetBeforeExponent = offset; ++offset; if (input.peek(offset) == '+') { ++offset; } else if (input.peek(offset) =='-') { sign = -1; ++offset; } exponentStartPos = offset; offset = input.skipWhilePredicate<isASCIIDigit>(offset); exponentEndPos = offset; if (exponentEndPos == exponentStartPos) offset = offsetBeforeExponent; } return input.getUInt(exponentStartPos, exponentEndPos); }