34 #ifndef SOMAIO_READER_PYTHONREADER_D_H
35 #define SOMAIO_READER_PYTHONREADER_D_H
85 return soma::PythonReader::genericSequenceHelper<std::vector<int> >(
148 if( quote !=
'"' && quote !=
'\'' )
150 std::cerr <<
"string reader: NOT a string: " << quote << std::endl;
166 std::string id, type;
174 char c = ds.
getch(), mark;
184 throw std::runtime_error( std::string(
"PythonReader: Not a list/tuple: " )
220 catch( std::exception & e )
245 std::string id, type;
253 char c = ds.
getch(), mark;
263 throw std::runtime_error( std::string(
"PythonReader: Not a list/tuple: " )
295 de = genericHelper<typename T::value_type>( obj,
"", r );
302 throw std::runtime_error( std::string(
"PythonReader: wrong type "
303 "inserted in homogen sequence: "
313 catch( std::exception & e )
336 std::cerr <<
"Attempt to read a dictionary not starting with '{'" << std::endl;
349 catch( std::exception & e )
static void launchErrnoExcept(const std::string &filename="")
Abstraction layer for various data sources (file, buffer, socket...).
virtual bool ungetch(int ch)=0
virtual bool isOpen() const =0
virtual std::string url() const
std::string readString(char separator, unsigned &charsread)
std::string readWhile(const std::string &s)
read characters in s
void readDictionary2(carto::GenericObject &obj)
reads the remaining attributes of a string dictionary
virtual std::string name() const
file name
virtual carto::GenericObject * read()
static carto::GenericObject * genericSequenceHelper(carto::GenericObject *, const std::string &, PythonReader &r)
unsigned skipWhile(const std::string &s)
skip characters in s
std::map< std::string, Helper > HelperSet
static carto::GenericObject * genericDictHelper(carto::GenericObject *, const std::string &, PythonReader &r)
bool eof() const
have we hit EOF?
std::string lineString() const
carto::rc_ptr< DataSource > dataSource()
std::map< std::string, Syntax > SyntaxSet
carto::rc_ptr< soma::DataSource > datasource
Private(const SyntaxSet &r)
Private(const SyntaxSet &r, carto::rc_ptr< soma::DataSource > ds)