]> git.tdb.fi Git - libs/datafile.git/blob - source/parsermode.h
Use IO::Slice to constrain access to logical files
[libs/datafile.git] / source / parsermode.h
1 #ifndef MSP_DATAFILE_PARSERMODE_H_
2 #define MSP_DATAFILE_PARSERMODE_H_
3
4 #include "statement.h"
5
6 namespace Msp {
7 namespace DataFile {
8
9 class Input;
10
11 /**
12 Base class for parse modes.
13 */
14 class ParserMode
15 {
16 protected:
17         Input ∈
18         const std::string &src;
19
20         ParserMode(Input &i, const std::string &s): in(i), src(s) { }
21 public:
22         virtual ~ParserMode() { }
23
24         virtual Statement parse(bool) = 0;
25 };
26
27 } // namespace DataFile
28 } // namespace Msp
29
30 #endif