|
Go to the documentation of this file.
33 : mMode(mode), mpStream(NULL), mFileName( "")
38 FD_DV( "TokenReader::Tokenreader(String, ...): " << rInString);
39 mpSStream= new std::istringstream(rInString, std::istringstream::in | std::istringstream::binary);
45 FD_DV( "TokenReader::Tokenreader(File, \"" << rInString << "\")");
46 mFStream.exceptions(std::ios::badbit|std::ios::failbit);
48 mFStream.open(rInString.c_str(), std::ios::in | std::ios::binary);
50 catch (std::ios::failure&) {
51 std::stringstream errstr;
52 errstr << "Exception opening/reading file \""<< rInString << "\"";
53 throw Exception( "TokenReader::TokenReader", errstr.str(), 1);
60 std::stringstream errstr;
61 errstr << "Invalid Mode / Not implemented";
62 throw Exception( "TokenReader::TokenReader(mode,instring)", errstr.str(), 1);
69 : mMode(File), mpStream(NULL), mFileName(rFilename)
72 FD_DV( "TokenReader::Tokenreader(File, \"" << rFilename << "\")");
73 mFStream.exceptions(std::ios::badbit|std::ios::failbit);
75 mFStream.open(rFilename.c_str(), std::ios::in | std::ios::binary);
77 catch (std::ios::failure&) {
78 std::stringstream errstr;
79 errstr << "Exception opening/reading file \""<< rFilename << "\"";
80 throw Exception( "TokenReader::TokenReader", errstr.str(), 1);
116 catch (std::ios::failure&) {
117 std::stringstream errstr;
118 errstr << "Exception opening/reading file in "<< FileLine();
119 throw Exception( "TokenReader::Rewind", errstr.str(), 1);
135 } catch (std::ios::failure&) {
136 std::stringstream errstr;
137 errstr << "Exception opening/reading file in "<< FileLine();
138 throw Exception( "TokenReader::Peek", errstr.str(), 1);
146 FD_DV( "TokenReader: Peek: " << token. Str());
163 if(!res) return false;
176 #ifdef FAUDES_CHECKED
182 #ifdef FAUDES_CHECKED
191 FD_DV( "TokenReader:Get(): " << token. Str());
205 FD_DV( "TokenReader::SeekBegin: " << rLabel << " at " << FileLine() << " level " << mLevel);
215 std::stringstream errstr;
216 errstr << "Section \"" << rLabel << "\" expected at " << FileLine() << " no more tokens";
217 throw Exception( "TokenReader::SeekBegin", errstr.str(), 51);
224 std::stringstream errstr;
225 errstr << "Section \"" << rLabel << "\" expected at " << FileLine()
226 << "current section ended unexpected. Found: " << rToken. StringValue() << " Type " << rToken. Type();
227 throw Exception( "TokenReader::SeekBegin", errstr.str(), 51);
245 FD_DV( "Looking for Section \"" << rLabel << "\"");
250 FD_DV( "section level " << level << " current pos " << startpos << " begin of section " << mLevelPos[level]);
257 std::stringstream errstr;
258 errstr << "Section \"" << rLabel << "\" expected at " << FileLine() << ", no token at all";
259 throw Exception( "TokenReader::ReadBegin Peek", errstr.str(), 51);
276 if(( mFilePos>=startpos) && (!firstgo)) {
277 std::stringstream errstr;
278 errstr << "Section \"" << rLabel << "\" expected at " << FileLine() << ", did not find begin label";
279 throw Exception( "TokenReader::ReadBegin Missed", errstr.str(), 51);
286 catch (std::ios::failure&) {
287 std::stringstream errstr;
288 errstr << "Section \"" << rLabel << "\" expected at " << FileLine();
289 throw Exception( "TokenReader::ReadBegin Rewind", errstr.str(), 1);
296 FD_DV( "TokenReader::ExistsBegin(): looking for Section \"" << rLabel << "\"");
301 FD_DV( "section level " << level << " current pos " << startpos << " begin of section " << mLevelPos[level]);
327 if(( mFilePos>=startpos) && (!firstgo)) {
335 catch (std::ios::failure&) {
336 std::stringstream errstr;
337 errstr << "Section \"" << rLabel << "\" expected at " << FileLine();
338 throw Exception( "TokenReader::ReadBegin Rewind", errstr.str(), 1);
345 FD_DV( "TokenReader::ReadEnd: " << rLabel << " at " << FileLine() );
354 std::stringstream errstr;
355 errstr << "end of Section \"" << rLabel << "\" expected at " << FileLine();
356 throw Exception( "TokenReader::ReadEnd", errstr.str(), 51);
365 std::stringstream errstr;
366 errstr << "end of Section \"" << rLabel << "\" expected at " << FileLine();
367 throw Exception( "TokenReader::ReadEnd", errstr.str(), 51);
378 if(level> mLevel) return false;
379 if(level== mLevel) return true;
397 std::stringstream errstr;
398 errstr << "Section End\"" << rLabel << "\" expected at " << FileLine();
399 throw Exception( "TokenReader::Eos", errstr.str(), 51);
409 std::stringstream errstr;
410 errstr << "Integer expected at " << FileLine();
411 throw Exception( "TokenReader::TokenReader", errstr.str(), 50);
421 std::stringstream errstr;
422 errstr << "Float expected at " << FileLine();
423 throw Exception( "TokenReader::TokenReader", errstr.str(), 50);
433 std::stringstream errstr;
434 errstr << "Name expected at " << FileLine();
435 throw Exception( "TokenReader::TokenReader", errstr.str(), 50);
447 std::stringstream errstr;
448 errstr << "Option expected at " << FileLine();
449 throw Exception( "TokenReader::TokenReader", errstr.str(), 50);
460 std::stringstream errstr;
461 errstr << "Binary string expected at " << FileLine();
462 throw Exception( "TokenReader::TokenReader", errstr.str(), 50);
473 FD_DV( "TokenReader::ReadText(): tag in buffer");
480 std::stringstream errstr;
481 errstr << "Text expected at " << FileLine();
482 throw Exception( "TokenReader::TokenReader", errstr.str(), 50);
489 static const std::string white= " \n\t\r\v\f";
490 std::size_t pos1= mLastString.find_first_not_of(white);
491 if(pos1!=std::string::npos)
495 std::size_t pos2= mLastString.find_last_not_of(white);
496 if(pos2!=std::string::npos)
507 FD_DV( "TokenReader::ReadCharacterData(): tag in buffer");
514 std::stringstream errstr;
515 errstr << "Text expected at " << FileLine();
516 throw Exception( "TokenReader::TokenReader", errstr.str(), 50);
530 int clevel = Level();
540 if(! Peek(token)) break;
libFAUDES 2.26g
--- 2015.08.17
--- c++ api documentaion by doxygen
|