| 
 | 
 | ||||||||||||||||
XrlParserFileInput class reads lines from a data source, strips out comments and handles continuation characters. It is similar to the C-preprocessor in that it strips out C and C++ comments and handles #include directives.
| XrlParserFileInput (istream* input, const char* fname = "") throw (XrlParserInputException) | XrlParserFileInput | 
Constructor
Parameters:
| input | input file stream. | 
| fname | filename. | 
Throws: XrlParserInputException, if, input, file, stream, is, not, good().
| XrlParserFileInput (const char* filename) throw (XrlParserInputException) | XrlParserFileInput | 
| ~XrlParserFileInput () | ~XrlParserFileInput | 
| bool  eof () | eof | 
[const]
Reimplemented from XrlParserInput.
| bool  getline (string& line) throw (XrlParserInputException) | getline | 
Reimplemented from XrlParserInput.
| string  stack_trace () | stack_trace | 
[const]
Reimplemented from XrlParserInput.
| list<string>&  path () | path | 
| bool  slurp_line (string& line) throw (XrlParserInputException) | slurp_line | 
[protected]
| FileState (struct) | FileState | 
[protected]
| void  push_stack (const FileState& fs) throw (XrlParserInputException) | push_stack | 
[protected]
Push FileState onto stack
Throws: XrlParserInputException, if, input, file, stream, is, not, good();
| void  pop_stack () | pop_stack | 
[protected]
| FileState&  stack_top () | stack_top | 
[protected]
| size_t  stack_depth () | stack_depth | 
[protected const]
| ifstream*  path_open_input (const char* filename) throw (XrlParserInputException) | path_open_input | 
[protected]
| void  close_input (istream* pif) | close_input | 
[protected]
| string  try_include (string::const_iterator& begin,
		       const string::const_iterator& end) throw (XrlParserInputException) | try_include | 
[protected]
| void  initialize_path () | initialize_path | 
[protected]
| vector<FileState> _stack | _stack | 
[protected]
| list<string> _path | _path | 
[protected]
| bool _own_bottom | _own_bottom | 
[protected]
| list<string> _inserted_lines | _inserted_lines | 
[protected]
| bool  filter_line (string& output, const string& input) | filter_line | 
[protected]
| enum Mode { NORMAL = 0x00, IN_SQUOTE = 0x01, IN_DQUOTE = 0x02, IN_C_COMMENT = 0x04 } | Mode | 
[protected]