60 throw LineParserAtEOLException();
65 throw std::runtime_error(
"ReadCIdentifier: Unexpected character");
75 return _line.substr(startIdx, len);
79 return _line.substr(startIdx, std::string::npos);
86 if (val == std::string())
88 throw std::runtime_error(
"Synxax Error: Expected : " + fieldName);
149 int32_t startIdx = position;
152 for(; !
AtEOL(); position++)
154 if (!isdigit(
_line[position]))
156 len = position - startIdx;
163 len = position - startIdx;
168 throw LineParserLenZeroException();
171 std::istringstream reader(
_line.substr(startIdx, len));
206 throw LineParserLenZeroException();
209 std::istringstream reader(
_line.substr(startIdx, len));
223 catch(LineParserExceptionBase& exlp)
235 throw LineParserAtEOLException();
240 throw LineParserInvalidCharException();
265 std::istringstream reader(
_line.substr(startIdx, len));
279 throw LineParserAtEOLException();
284 throw LineParserInvalidCharException();
298 if (
'E' == c ||
'e' == c)
306 else if (!isdigit(c))
312 if (
'E' == c ||
'e' == c)
322 if (
'+' == c ||
'-' == c)
334 throw LineParserInvalidCharException();
360 throw LineParserLenZeroException();
363 std::istringstream reader(
_line.substr(startIdx, len));
378 catch(LineParserExceptionBase& exlp)
389 if (nextChar == 0x00 || nextChar != separator)
391 throw std::runtime_error(
"Synxax Error: Expected : " + separator);
401 throw LineParserAtEOLException();
406 throw std::runtime_error(
"ReadQuotedString: Missing Quote");
424 throw LineParserLenZeroException();
432 return _line.substr(startIdx, len);