34 #ifndef SOMAIO_READER_PYTHONREADER_H 35 #define SOMAIO_READER_PYTHONREADER_H 60 const HelperSet& helpers = HelperSet() );
62 const HelperSet& helpers = HelperSet() );
66 const HelperSet& helpers = HelperSet() );
69 virtual carto::GenericObject* read();
73 virtual void read( carto::GenericObject & );
76 void readDictionary( carto::GenericObject & obj );
78 void readDictionary2( carto::GenericObject & obj );
84 void open(
const std::string& filename )
88 void attach( std::istream & s,
int line_num = 1 );
90 void attach(
const std::string& filename );
93 virtual std::string name()
const;
95 std::string lineString()
const;
97 bool operator!()
const;
103 const HelperSet & helpers()
const;
104 HelperSet & helpers();
111 std::string readUntil(
const std::string& s);
114 void skipUntil(
const std::string& s);
118 std::string readWhile(
const std::string& s);
122 unsigned skipWhile(
const std::string& s);
123 carto::GenericObject* read( carto::GenericObject *parent,
124 const std::string & semantic );
125 std::string readVariableName();
130 bool readSyntax( std::string & syntax );
131 std::string readString(
char separator,
unsigned & charsread );
135 static carto::GenericObject* dictHelper( carto::GenericObject *,
139 static carto::GenericObject* propertySetHelper(carto::GenericObject *,
144 static carto::GenericObject* genericSequenceHelper( carto::GenericObject *,
149 static carto::GenericObject* genericDictHelper( carto::GenericObject *,
154 void init(
const HelperSet & helpers );
#define DECLARE_GENERIC_OBJECT_TYPE(T)
#define __deprecated__(msg)
std::map< std::string, Helper > HelperSet
std::map< std::string, Syntax > SyntaxSet
carto::GenericObject *(* Helper)(carto::GenericObject *, const std::string &, PythonReader &)