Chemical Data Processing Library C++ API - Version 1.1.1
Public Types | Public Member Functions | Protected Member Functions | List of all members
CDPL::Base::DataReader< T > Class Template Referenceabstract

An interface for reading data objects of a given type from an arbitrary data source. More...

#include <DataReader.hpp>

+ Inheritance diagram for CDPL::Base::DataReader< T >:

Public Types

typedef T DataType
 The type of the read data objects. More...
 
typedef std::shared_ptr< DataReaderSharedPointer
 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

virtual DataReaderread (DataType &obj, bool overwrite=true)=0
 Reads the data record at the current record index and stores the read data in obj. More...
 
virtual DataReaderread (std::size_t idx, DataType &obj, bool overwrite=true)=0
 Reads the data record at index idx and stores the read data in obj. More...
 
virtual DataReaderskip ()=0
 Skips the data record at the current record index. More...
 
virtual bool hasMoreData ()=0
 Tells if there are any data records left to read. More...
 
virtual std::size_t getRecordIndex () const =0
 Returns the index of the current data record. More...
 
virtual void setRecordIndex (std::size_t idx)=0
 Sets the index of the current data record to idx. More...
 
virtual std::size_t getNumRecords ()=0
 Returns the total number of available data records. More...
 
virtual operator const void * () const =0
 Returns a pointer whose value indicates the error state of the reader. More...
 
virtual bool operator! () const =0
 Tells whether the reader is in a bad state. More...
 
virtual void close ()
 Performs a reader specific shutdown operation (if required). 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 AnygetParameter (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 ControlParameterContainergetParent () 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 ControlParameterContainergetParameters () const
 Returns a const reference to itself. More...
 

Protected Member Functions

DataReaderoperator= (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...
 
DataIOBaseoperator= (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...
 
ControlParameterContaineroperator= (const ControlParameterContainer &cntnr)
 Assignment operator. More...
 

Detailed Description

template<typename T>
class CDPL::Base::DataReader< T >

An interface for reading data objects of a given type from an arbitrary data source.

DataReader is the common interface of classes which read objects of a given type (specified by the template parameter T) from some data source (e.g. a file) that provides the data encoded in a particular storage format.

From the DataReader interface point of view, the data source is organized as an array of logical data records. Each record is addressed by a zero-based sequential record index and contains the data for exactly one data object. The total number of available data records (which is equal to the maximum record index plus 1) can be queried by the method getNumRecords().

Similar to low-level file I/O, data records may either be read in a sequential or in a random access manner. For sequential access the method read(DataType& obj) is provided which will read the data record at the 'current' record index (similar to a file pointer). The current record index is accessible by the method getRecordIndex() and can be modified using the method setRecordIndex() (similar to a seek operation).

For reading data records in a random access manner, the method read(std::size_t idx, DataType& obj) is available. In contrast to the former read() method, this method expects the index of the record to read as the first argument.

If a read() (or skip()) operation was successful, the current record index is updated to point to the record immediately following the just read (or skipped) data record. If an operation fails, the reader instance is set into an error state that can be queried by the operators operator const void*() and bool operator!(). Additionally, a DataReader implementation may decide to throw an exception of type Base::IOError to report the error condition.

Template Parameters
TThe type of the read data objects.

Member Typedef Documentation

◆ DataType

template<typename T >
typedef T CDPL::Base::DataReader< T >::DataType

The type of the read data objects.

◆ SharedPointer

template<typename T >
typedef std::shared_ptr<DataReader> CDPL::Base::DataReader< T >::SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated DataReader instances.

Member Function Documentation

◆ read() [1/2]

template<typename T >
virtual DataReader& CDPL::Base::DataReader< T >::read ( DataType obj,
bool  overwrite = true 
)
pure virtual

Reads the data record at the current record index and stores the read data in obj.

If the read operation was successful, the record index is incremented by 1.

Parameters
objThe object storing the read data.
overwriteSpecifies whether any existing data in obj shall be replaced by the newly read data or if the read data should be appended (if supported by the reader and data type).
Returns
A reference to itself.
Exceptions
Base::IOErrorif an I/O error occurred.

Implemented in CDPL::Util::StreamDataReader< DataType, ReaderImpl >, CDPL::Util::MultiFormatDataReader< DataType >, CDPL::Util::CompoundDataReader< DataType >, and CDPL::Pharm::PSDMoleculeReader.

◆ read() [2/2]

template<typename T >
virtual DataReader& CDPL::Base::DataReader< T >::read ( std::size_t  idx,
DataType obj,
bool  overwrite = true 
)
pure virtual

Reads the data record at index idx and stores the read data in obj.

If the read operation was successful, the record index is set to idx + 1.

Parameters
idxThe zero-based index of the data record to read.
objThe object storing the read data.
overwriteSpecifies whether any existing data in obj shall be replaced by the newly read data or if the read data should be appended (if supported by the reader and data type).
Returns
A reference to itself.
Exceptions
Base::IndexErrorif idx is greater or equal to the number of records. Base::IOError if an I/O error occurred.

Implemented in CDPL::Util::StreamDataReader< DataType, ReaderImpl >, CDPL::Util::MultiFormatDataReader< DataType >, CDPL::Util::CompoundDataReader< DataType >, and CDPL::Pharm::PSDMoleculeReader.

◆ skip()

template<typename T >
virtual DataReader& CDPL::Base::DataReader< T >::skip ( )
pure virtual

Skips the data record at the current record index.

If the operation was successful, the record index is incremented by 1.

Returns
A reference to itself.
Exceptions
Base::IOErrorif an I/O error occurred.

Implemented in CDPL::Util::StreamDataReader< DataType, ReaderImpl >, CDPL::Util::StreamDataReader< Pharmacophore, PMLPharmacophoreReader >, CDPL::Util::StreamDataReader< Chem::Molecule, MMTFMoleculeReader >, CDPL::Util::StreamDataReader< Pharmacophore, CDFPharmacophoreReader >, CDPL::Util::StreamDataReader< Molecule, SMILESMoleculeReader >, CDPL::Util::StreamDataReader< Chem::Molecule, PDBMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, CDFMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, XYZMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SDFMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, SMILESReactionReader >, CDPL::Util::StreamDataReader< Molecule, MOL2MoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SMARTSMoleculeReader >, CDPL::Util::StreamDataReader< DRegularGrid, CDFDRegularGridReader >, CDPL::Util::StreamDataReader< Molecule, INCHIMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, CDFReactionReader >, CDPL::Util::StreamDataReader< DRegularGridSet, CDFDRegularGridSetReader >, CDPL::Util::StreamDataReader< Molecule, MOLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RXNReactionReader >, CDPL::Util::StreamDataReader< Chem::Molecule, CFLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RDFReactionReader >, CDPL::Util::StreamDataReader< Molecule, JMEMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, JMEReactionReader >, CDPL::Util::StreamDataReader< Reaction, SMARTSReactionReader >, CDPL::Util::MultiFormatDataReader< DataType >, CDPL::Util::FileDataReader< ReaderImpl, DataType >, CDPL::Util::CompressedDataReader< ReaderImpl, DecompStream, DataType >, CDPL::Util::CompoundDataReader< DataType >, CDPL::Pharm::PSDPharmacophoreReader, and CDPL::Pharm::PSDMoleculeReader.

◆ hasMoreData()

template<typename T >
virtual bool CDPL::Base::DataReader< T >::hasMoreData ( )
pure virtual

Tells if there are any data records left to read.

Returns
true if there are data records left to read, and false otherwise.
Exceptions
Base::IOErrorif an I/O error occurred.

Implemented in CDPL::Util::StreamDataReader< DataType, ReaderImpl >, CDPL::Util::StreamDataReader< Pharmacophore, PMLPharmacophoreReader >, CDPL::Util::StreamDataReader< Chem::Molecule, MMTFMoleculeReader >, CDPL::Util::StreamDataReader< Pharmacophore, CDFPharmacophoreReader >, CDPL::Util::StreamDataReader< Molecule, SMILESMoleculeReader >, CDPL::Util::StreamDataReader< Chem::Molecule, PDBMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, CDFMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, XYZMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SDFMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, SMILESReactionReader >, CDPL::Util::StreamDataReader< Molecule, MOL2MoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SMARTSMoleculeReader >, CDPL::Util::StreamDataReader< DRegularGrid, CDFDRegularGridReader >, CDPL::Util::StreamDataReader< Molecule, INCHIMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, CDFReactionReader >, CDPL::Util::StreamDataReader< DRegularGridSet, CDFDRegularGridSetReader >, CDPL::Util::StreamDataReader< Molecule, MOLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RXNReactionReader >, CDPL::Util::StreamDataReader< Chem::Molecule, CFLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RDFReactionReader >, CDPL::Util::StreamDataReader< Molecule, JMEMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, JMEReactionReader >, CDPL::Util::StreamDataReader< Reaction, SMARTSReactionReader >, CDPL::Util::MultiFormatDataReader< DataType >, CDPL::Util::FileDataReader< ReaderImpl, DataType >, CDPL::Util::CompressedDataReader< ReaderImpl, DecompStream, DataType >, CDPL::Util::CompoundDataReader< DataType >, CDPL::Pharm::PSDPharmacophoreReader, and CDPL::Pharm::PSDMoleculeReader.

◆ getRecordIndex()

template<typename T >
virtual std::size_t CDPL::Base::DataReader< T >::getRecordIndex ( ) const
pure virtual

Returns the index of the current data record.

Returns
The zero-based index of the current data record.

Implemented in CDPL::Util::StreamDataReader< Pharmacophore, PMLPharmacophoreReader >, CDPL::Util::StreamDataReader< Chem::Molecule, MMTFMoleculeReader >, CDPL::Util::StreamDataReader< Pharmacophore, CDFPharmacophoreReader >, CDPL::Util::StreamDataReader< Molecule, SMILESMoleculeReader >, CDPL::Util::StreamDataReader< Chem::Molecule, PDBMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, CDFMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, XYZMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SDFMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, SMILESReactionReader >, CDPL::Util::StreamDataReader< Molecule, MOL2MoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SMARTSMoleculeReader >, CDPL::Util::StreamDataReader< DRegularGrid, CDFDRegularGridReader >, CDPL::Util::StreamDataReader< Molecule, INCHIMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, CDFReactionReader >, CDPL::Util::StreamDataReader< DRegularGridSet, CDFDRegularGridSetReader >, CDPL::Util::StreamDataReader< Molecule, MOLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RXNReactionReader >, CDPL::Util::StreamDataReader< Chem::Molecule, CFLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RDFReactionReader >, CDPL::Util::StreamDataReader< Molecule, JMEMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, JMEReactionReader >, and CDPL::Util::StreamDataReader< Reaction, SMARTSReactionReader >.

◆ setRecordIndex()

template<typename T >
virtual void CDPL::Base::DataReader< T >::setRecordIndex ( std::size_t  idx)
pure virtual

Sets the index of the current data record to idx.

Parameters
idxThe zero-based index of the data record.
Exceptions
Base::IndexErrorif idx is greater or equal to the number of available data records. Base::IOError if an I/O error occurred.

Implemented in CDPL::Util::StreamDataReader< DataType, ReaderImpl >, CDPL::Util::StreamDataReader< Pharmacophore, PMLPharmacophoreReader >, CDPL::Util::StreamDataReader< Chem::Molecule, MMTFMoleculeReader >, CDPL::Util::StreamDataReader< Pharmacophore, CDFPharmacophoreReader >, CDPL::Util::StreamDataReader< Molecule, SMILESMoleculeReader >, CDPL::Util::StreamDataReader< Chem::Molecule, PDBMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, CDFMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, XYZMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SDFMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, SMILESReactionReader >, CDPL::Util::StreamDataReader< Molecule, MOL2MoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SMARTSMoleculeReader >, CDPL::Util::StreamDataReader< DRegularGrid, CDFDRegularGridReader >, CDPL::Util::StreamDataReader< Molecule, INCHIMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, CDFReactionReader >, CDPL::Util::StreamDataReader< DRegularGridSet, CDFDRegularGridSetReader >, CDPL::Util::StreamDataReader< Molecule, MOLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RXNReactionReader >, CDPL::Util::StreamDataReader< Chem::Molecule, CFLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RDFReactionReader >, CDPL::Util::StreamDataReader< Molecule, JMEMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, JMEReactionReader >, CDPL::Util::StreamDataReader< Reaction, SMARTSReactionReader >, CDPL::Util::MultiFormatDataReader< DataType >, CDPL::Util::FileDataReader< ReaderImpl, DataType >, CDPL::Util::CompressedDataReader< ReaderImpl, DecompStream, DataType >, CDPL::Util::CompoundDataReader< DataType >, CDPL::Pharm::PSDPharmacophoreReader, and CDPL::Pharm::PSDMoleculeReader.

◆ getNumRecords()

template<typename T >
virtual std::size_t CDPL::Base::DataReader< T >::getNumRecords ( )
pure virtual

Returns the total number of available data records.

Returns
The total number of available data records.
Exceptions
Base::IOErrorif an I/O error occurred.

Implemented in CDPL::Util::StreamDataReader< DataType, ReaderImpl >, CDPL::Util::StreamDataReader< Pharmacophore, PMLPharmacophoreReader >, CDPL::Util::StreamDataReader< Chem::Molecule, MMTFMoleculeReader >, CDPL::Util::StreamDataReader< Pharmacophore, CDFPharmacophoreReader >, CDPL::Util::StreamDataReader< Molecule, SMILESMoleculeReader >, CDPL::Util::StreamDataReader< Chem::Molecule, PDBMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, CDFMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, XYZMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SDFMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, SMILESReactionReader >, CDPL::Util::StreamDataReader< Molecule, MOL2MoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SMARTSMoleculeReader >, CDPL::Util::StreamDataReader< DRegularGrid, CDFDRegularGridReader >, CDPL::Util::StreamDataReader< Molecule, INCHIMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, CDFReactionReader >, CDPL::Util::StreamDataReader< DRegularGridSet, CDFDRegularGridSetReader >, CDPL::Util::StreamDataReader< Molecule, MOLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RXNReactionReader >, CDPL::Util::StreamDataReader< Chem::Molecule, CFLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RDFReactionReader >, CDPL::Util::StreamDataReader< Molecule, JMEMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, JMEReactionReader >, CDPL::Util::StreamDataReader< Reaction, SMARTSReactionReader >, CDPL::Util::MultiFormatDataReader< DataType >, CDPL::Util::FileDataReader< ReaderImpl, DataType >, CDPL::Util::CompressedDataReader< ReaderImpl, DecompStream, DataType >, CDPL::Util::CompoundDataReader< DataType >, CDPL::Pharm::PSDPharmacophoreReader, and CDPL::Pharm::PSDMoleculeReader.

◆ operator const void *()

template<typename T >
virtual CDPL::Base::DataReader< T >::operator const void * ( ) const
pure virtual

Returns a pointer whose value indicates the error state of the reader.

The operator allows to write expressions like:

if (reader) { ...
if (reader.skip()) { ...
Returns
A non-null pointer if the reader is in a good state, a null pointer otherwise.
Note
The returned pointer is not meant to be dereferenced, it is just a state indicator.
See also
operator!()

Implemented in CDPL::Util::StreamDataReader< Pharmacophore, PMLPharmacophoreReader >, CDPL::Util::StreamDataReader< Chem::Molecule, MMTFMoleculeReader >, CDPL::Util::StreamDataReader< Pharmacophore, CDFPharmacophoreReader >, CDPL::Util::StreamDataReader< Molecule, SMILESMoleculeReader >, CDPL::Util::StreamDataReader< Chem::Molecule, PDBMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, CDFMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, XYZMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SDFMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, SMILESReactionReader >, CDPL::Util::StreamDataReader< Molecule, MOL2MoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SMARTSMoleculeReader >, CDPL::Util::StreamDataReader< DRegularGrid, CDFDRegularGridReader >, CDPL::Util::StreamDataReader< Molecule, INCHIMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, CDFReactionReader >, CDPL::Util::StreamDataReader< DRegularGridSet, CDFDRegularGridSetReader >, CDPL::Util::StreamDataReader< Molecule, MOLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RXNReactionReader >, CDPL::Util::StreamDataReader< Chem::Molecule, CFLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RDFReactionReader >, CDPL::Util::StreamDataReader< Molecule, JMEMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, JMEReactionReader >, and CDPL::Util::StreamDataReader< Reaction, SMARTSReactionReader >.

◆ operator!()

template<typename T >
virtual bool CDPL::Base::DataReader< T >::operator! ( ) const
pure virtual

Tells whether the reader is in a bad state.

The operator allows to write expressions like:

if (!reader) { ...
if (!reader.skip()) { ...
Returns
false if the reader is in a good state, and true otherwise.
See also
operator const void*()

Implemented in CDPL::Util::StreamDataReader< Pharmacophore, PMLPharmacophoreReader >, CDPL::Util::StreamDataReader< Chem::Molecule, MMTFMoleculeReader >, CDPL::Util::StreamDataReader< Pharmacophore, CDFPharmacophoreReader >, CDPL::Util::StreamDataReader< Molecule, SMILESMoleculeReader >, CDPL::Util::StreamDataReader< Chem::Molecule, PDBMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, CDFMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, XYZMoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SDFMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, SMILESReactionReader >, CDPL::Util::StreamDataReader< Molecule, MOL2MoleculeReader >, CDPL::Util::StreamDataReader< Molecule, SMARTSMoleculeReader >, CDPL::Util::StreamDataReader< DRegularGrid, CDFDRegularGridReader >, CDPL::Util::StreamDataReader< Molecule, INCHIMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, CDFReactionReader >, CDPL::Util::StreamDataReader< DRegularGridSet, CDFDRegularGridSetReader >, CDPL::Util::StreamDataReader< Molecule, MOLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RXNReactionReader >, CDPL::Util::StreamDataReader< Chem::Molecule, CFLMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, RDFReactionReader >, CDPL::Util::StreamDataReader< Molecule, JMEMoleculeReader >, CDPL::Util::StreamDataReader< Reaction, JMEReactionReader >, and CDPL::Util::StreamDataReader< Reaction, SMARTSReactionReader >.

◆ close()

template<typename T >
virtual void CDPL::Base::DataReader< T >::close ( )
inlinevirtual

Performs a reader specific shutdown operation (if required).

Exceptions
Base::IOErrorif an I/O error occurred.

Reimplemented in CDPL::Util::MultiFormatDataReader< DataType >, CDPL::Util::FileDataReader< ReaderImpl, DataType >, and CDPL::Util::CompressedDataReader< ReaderImpl, DecompStream, DataType >.

◆ operator=()

template<typename T >
CDPL::Base::DataReader< T > & CDPL::Base::DataReader< T >::operator= ( const DataReader< T > &  reader)
protected

Assignment operator.

Parameters
readerThe DataReader instance to copy.
Returns
A reference to itself.

The documentation for this class was generated from the following file: