![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Reader that auto-dispatches to a format-specific reader registered with Base::DataIOManager. More...
#include <MultiFormatDataReader.hpp>
Inheritance diagram for CDPL::Util::MultiFormatDataReader< DataType >:Public Types | |
| typedef std::shared_ptr< MultiFormatDataReader > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated MultiFormatDataReader instances. More... | |
Public Types inherited from CDPL::Base::DataReader< DataType > | |
| typedef DataType | DataType |
| The type of the read data objects. More... | |
| typedef std::shared_ptr< DataReader > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated DataReader instances. More... | |
Public Types inherited from CDPL::Base::DataIOBase | |
| typedef std::function< void(const DataIOBase &, double)> | IOCallbackFunction |
| A functor class used to wrap I/O callback target functions. More... | |
Public Types inherited from CDPL::Base::ControlParameterContainer | |
| typedef ParameterMap::value_type | ParameterEntry |
| A Base::LookupKey / Base::Any pair used to store the control-parameter values and associated keys. More... | |
| typedef ParameterMap::const_iterator | ConstParameterIterator |
| A constant iterator used to iterate over the control-parameter entries. More... | |
| typedef std::function< void(const LookupKey &, const Any &)> | ParameterChangedCallbackFunction |
| A functor class that wraps callback target functions which get invoked when the value of a control-parameter has changed. More... | |
| typedef std::function< void(const LookupKey &)> | ParameterRemovedCallbackFunction |
| A functor class that wraps callback target functions which get invoked when a control-parameter entry has been removed. More... | |
| typedef std::function< void()> | ParentChangedCallbackFunction |
| A functor class that wraps callback target functions which get invoked when the parent container has been changed or was detached. More... | |
Public Member Functions | |
| MultiFormatDataReader (const std::string &file_name, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::binary) | |
| Constructs a reader for the file file_name with format detected from its extension. More... | |
| MultiFormatDataReader (const std::string &file_name, const std::string &fmt, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::binary) | |
| Constructs a reader for the file file_name using the format identified by the string fmt. More... | |
| MultiFormatDataReader (const std::string &file_name, const Base::DataFormat &fmt, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::binary) | |
| Constructs a reader for the file file_name using the format described by fmt. More... | |
| MultiFormatDataReader (std::istream &is, const std::string &fmt) | |
| Constructs a reader for the input stream is using the format identified by the string fmt. More... | |
| MultiFormatDataReader (std::istream &is, const Base::DataFormat &fmt) | |
| Constructs a reader for the input stream is using the format described by fmt. More... | |
| MultiFormatDataReader (const MultiFormatDataReader &)=delete | |
| MultiFormatDataReader & | operator= (const MultiFormatDataReader &)=delete |
| const Base::DataFormat & | getDataFormat () const |
| Returns the data format the wrapped reader was instantiated for. More... | |
| MultiFormatDataReader & | read (DataType &obj, bool overwrite=true) |
| Reads the next data record into obj. More... | |
| MultiFormatDataReader & | read (std::size_t idx, DataType &obj, bool overwrite=true) |
| Reads the data record at index idx into obj. More... | |
| MultiFormatDataReader & | skip () |
| Skips the next data record. More... | |
| bool | hasMoreData () |
| Tells whether more records are available. More... | |
| std::size_t | getRecordIndex () const |
| Returns the index of the current data record. More... | |
| void | setRecordIndex (std::size_t idx) |
| Sets the index of the next data record to be read. More... | |
| std::size_t | getNumRecords () |
| Returns the total number of records in the input source. More... | |
| operator const void * () const | |
| Returns a non-zero value if the reader is in a good state, and zero otherwise. More... | |
| bool | operator! () const |
| Tells whether the reader is in a bad state. More... | |
| void | close () |
| Closes the underlying reader. More... | |
Public Member Functions inherited from CDPL::Base::DataIOBase | |
| std::size_t | registerIOCallback (const IOCallbackFunction &func) |
| Registers an I/O callback target function. More... | |
| void | unregisterIOCallback (std::size_t id) |
| Unregisters the I/O callback function specified by id. More... | |
| void | invokeIOCallbacks (double progress) const |
Invokes all registered I/O callback functions with the argument *this. More... | |
| void | clearIOCallbacks () |
| Clears all registered I/O callback functions. More... | |
Public Member Functions inherited from CDPL::Base::ControlParameterContainer | |
| std::size_t | getNumParameters () const |
| Returns the number of container entries. More... | |
| template<typename T > | |
| void | setParameter (const LookupKey &key, T &&val) |
| Sets the value of the control-parameter specified by key to val. More... | |
| const Any & | getParameter (const LookupKey &key, bool throw_=false, bool local=false) const |
| Returns the value of the control-parameter specified by key. More... | |
| template<typename T > | |
| const T & | getParameter (const LookupKey &key, bool local=false) const |
Returns the value of the control-parameter specified by key as a const reference to an object of type T. More... | |
| template<typename T > | |
| const T & | getParameterOrDefault (const LookupKey &key, const T &def_val, bool local=false) const |
Returns the value of the control-parameter specified by key as a const reference to an object of type T, or the default value def_val if a stored value does not exist. More... | |
| bool | removeParameter (const LookupKey &key) |
| Removes the entry for the control-parameter specified by key. More... | |
| void | clearParameters () |
| Erases all container entries. More... | |
| bool | isParameterSet (const LookupKey &key, bool local=false) const |
| Tells whether or not a value has been assigned to the control-parameter specified by key. More... | |
| void | addParameters (const ControlParameterContainer &cntnr) |
Adds the control-parameter value entries in the ControlParameterContainer instance cntnr. More... | |
| void | copyParameters (const ControlParameterContainer &cntnr) |
| Replaces the current set of properties by a copy of the entries in cntnr. More... | |
| ConstParameterIterator | getParametersBegin () const |
| Returns a constant iterator pointing to the beginning of the entries. More... | |
| ConstParameterIterator | getParametersEnd () const |
| Returns a constant iterator pointing to the end of the entries. More... | |
| ConstParameterIterator | begin () const |
| Returns a constant iterator pointing to the beginning of the entries. More... | |
| ConstParameterIterator | end () const |
| Returns a constant iterator pointing to the end of the entries. More... | |
| void | setParent (const ControlParameterContainer *cntnr) |
| Sets or removes the parent control-parameter container used to resolve requests for missing entries. More... | |
| const ControlParameterContainer * | getParent () const |
| Returns a pointer to the parent control-parameter container. More... | |
| std::size_t | registerParameterChangedCallback (const ParameterChangedCallbackFunction &func) |
| Registers a callback target function that gets invoked when the value of a control-parameter has changed. More... | |
| void | unregisterParameterChangedCallback (std::size_t id) |
| Unregisters the callback specified by id. More... | |
| std::size_t | registerParameterRemovedCallback (const ParameterRemovedCallbackFunction &func) |
| Registers a callback target function that gets invoked when a control-parameter entry has been removed. More... | |
| void | unregisterParameterRemovedCallback (std::size_t id) |
| Unregisters the callback specified by id. More... | |
| std::size_t | registerParentChangedCallback (const ParentChangedCallbackFunction &func) |
| Registers a callback target function that gets invoked when the parent container has been changed or was detached. More... | |
| void | unregisterParentChangedCallback (std::size_t id) |
| Unregisters the callback specified by id. More... | |
| const ControlParameterContainer & | getParameters () const |
Returns a const reference to itself. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from CDPL::Base::DataReader< DataType > | |
| DataReader & | operator= (const DataReader &reader) |
| Assignment operator. More... | |
Protected Member Functions inherited from CDPL::Base::DataIOBase | |
| DataIOBase () | |
| Default constructor. More... | |
| DataIOBase (const DataIOBase &io_base) | |
| Copy constructor. More... | |
| ~DataIOBase () | |
| Destructor. More... | |
| DataIOBase & | operator= (const DataIOBase &io_base) |
| Assignment operator. More... | |
Protected Member Functions inherited from CDPL::Base::ControlParameterContainer | |
| ControlParameterContainer () | |
Constructs an empty ControlParameterContainer instance. More... | |
| ControlParameterContainer (const ControlParameterContainer &cntnr) | |
Constructs a copy of the ControlParameterContainer instance cntnr. More... | |
| virtual | ~ControlParameterContainer () |
| Destructor. More... | |
| ControlParameterContainer & | operator= (const ControlParameterContainer &cntnr) |
| Assignment operator. More... | |
Reader that auto-dispatches to a format-specific reader registered with Base::DataIOManager.
The format is detected from the file extension or explicitly provided as a string or Base::DataFormat. The reader exposes the standard Base::DataReader interface and forwards all operations to the underlying format-specific reader instance.
| DataType | The data record type produced by the reader. |
| typedef std::shared_ptr<MultiFormatDataReader> CDPL::Util::MultiFormatDataReader< DataType >::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated MultiFormatDataReader instances.
| CDPL::Util::MultiFormatDataReader< DataType >::MultiFormatDataReader | ( | const std::string & | file_name, |
| std::ios_base::openmode | mode = std::ios_base::in | std::ios_base::binary |
||
| ) |
Constructs a reader for the file file_name with format detected from its extension.
| file_name | The path of the input file. |
| mode | The flags specifying the file open mode. |
| Base::IOError | if no input handler for the file extension is registered. |
| CDPL::Util::MultiFormatDataReader< DataType >::MultiFormatDataReader | ( | const std::string & | file_name, |
| const std::string & | fmt, | ||
| std::ios_base::openmode | mode = std::ios_base::in | std::ios_base::binary |
||
| ) |
Constructs a reader for the file file_name using the format identified by the string fmt.
| file_name | The path of the input file. |
| fmt | The format identifier (e.g. the file extension associated with the format). |
| mode | The flags specifying the file open mode. |
| Base::IOError | if no input handler for fmt is registered. |
| CDPL::Util::MultiFormatDataReader< DataType >::MultiFormatDataReader | ( | const std::string & | file_name, |
| const Base::DataFormat & | fmt, | ||
| std::ios_base::openmode | mode = std::ios_base::in | std::ios_base::binary |
||
| ) |
Constructs a reader for the file file_name using the format described by fmt.
| file_name | The path of the input file. |
| fmt | The Base::DataFormat instance describing the format. |
| mode | The flags specifying the file open mode. |
| Base::IOError | if no input handler for fmt is registered. |
| CDPL::Util::MultiFormatDataReader< DataType >::MultiFormatDataReader | ( | std::istream & | is, |
| const std::string & | fmt | ||
| ) |
Constructs a reader for the input stream is using the format identified by the string fmt.
| is | The input stream providing the data. |
| fmt | The format identifier (e.g. the file extension associated with the format). |
| Base::IOError | if no input handler for fmt is registered. |
| CDPL::Util::MultiFormatDataReader< DataType >::MultiFormatDataReader | ( | std::istream & | is, |
| const Base::DataFormat & | fmt | ||
| ) |
Constructs a reader for the input stream is using the format described by fmt.
| is | The input stream providing the data. |
| fmt | The Base::DataFormat instance describing the format. |
| Base::IOError | if no input handler for fmt is registered. |
|
delete |
|
delete |
| const CDPL::Base::DataFormat & CDPL::Util::MultiFormatDataReader< DataType >::getDataFormat |
Returns the data format the wrapped reader was instantiated for.
|
virtual |
Reads the next data record into obj.
| obj | The output data object. |
| overwrite | If true, any pre-existing content of obj is replaced; otherwise the new data is merged. |
Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Reads the data record at index idx into obj.
| idx | The zero-based index of the record to read. |
| obj | The output data object. |
| overwrite | If true, any pre-existing content of obj is replaced; otherwise the new data is merged. |
Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Skips the next data record.
Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Tells whether more records are available.
true if more records are available, and false otherwise. Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Returns the index of the current data record.
Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Sets the index of the next data record to be read.
| idx | The zero-based record index. |
Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Returns the total number of records in the input source.
Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Returns a non-zero value if the reader is in a good state, and zero otherwise.
Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Tells whether the reader is in a bad state.
true if the reader is in a bad state, and false otherwise. Implements CDPL::Base::DataReader< DataType >.
|
virtual |
Closes the underlying reader.
Reimplemented from CDPL::Base::DataReader< DataType >.