|
|
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]