Chemical Data Processing Library C++ API - Version 1.2.0
|
An interface for writing data objects of a given type to an arbitrary data sink. More...
#include <DataWriter.hpp>
Public Types | |
typedef std::shared_ptr< DataWriter > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated DataWriter instances. More... | |
typedef T | DataType |
The type of the written data objects. 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 DataWriter & | write (const DataType &obj)=0 |
Writes the data object obj. More... | |
virtual void | close () |
Writes format dependent data (if required) to mark the end of output. More... | |
virtual | operator const void * () const =0 |
Returns a pointer whose value indicates the error state of the writer. More... | |
virtual bool | operator! () const =0 |
Tells whether the writer is in a bad state. 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... | |
Protected Member Functions | |
DataWriter & | operator= (const DataWriter &writer) |
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... | |
An interface for writing data objects of a given type to an arbitrary data sink.
DataWriter
is the common interface of classes which write objects of a given type (specified by the template parameter T) to some data sink (e.g. a file) that expects the data to be encoded in a particular storage format.
From the DataWriter
interface point of view, the data sink is continuous output stream in which the data objects are written as data records. For the output of a given data object the method write() has to be called with the object passed as an argument.
If the write() operation fails, the writer instance is set into an error state that can be queried by the operators operator const void*() and bool operator!(). Additionally, a DataWriter
implementation may decide to throw an exception of type Base::IOError to report the error condition.
T | The type of the written data objects. |
typedef std::shared_ptr<DataWriter> CDPL::Base::DataWriter< T >::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated DataWriter
instances.
typedef T CDPL::Base::DataWriter< T >::DataType |
The type of the written data objects.
|
pure virtual |
Writes the data object obj.
obj | The data object to write. |
Base::IOError | if an I/O error occurred. |
Implemented in CDPL::Util::MultiFormatDataWriter< DataType >, CDPL::Vis::SVGReactionWriter, CDPL::Vis::PSReactionWriter, CDPL::Vis::PNGReactionWriter, CDPL::Vis::PDFReactionWriter, CDPL::Vis::SVGMolecularGraphWriter, CDPL::Vis::PSMolecularGraphWriter, CDPL::Vis::PNGMolecularGraphWriter, CDPL::Vis::PDFMolecularGraphWriter, CDPL::Pharm::PSDMolecularGraphWriter, CDPL::Biomol::PDBMolecularGraphWriter, CDPL::Biomol::MMTFMolecularGraphWriter, and CDPL::Biomol::MMCIFMolecularGraphWriter.
|
inlinevirtual |
Writes format dependent data (if required) to mark the end of output.
Base::IOError | if an I/O error occurred. |
Reimplemented in CDPL::Util::MultiFormatDataWriter< DataType >, CDPL::Util::FileDataWriter< WriterImpl, DataType >, CDPL::Util::CompressedDataWriter< WriterImpl, CompStream, DataType >, CDPL::Pharm::PSDMolecularGraphWriter, CDPL::Pharm::PMLFeatureContainerWriter, and CDPL::Chem::CMLMolecularGraphWriter.
|
pure virtual |
Returns a pointer whose value indicates the error state of the writer.
The operator allows to write expressions like:
Implemented in CDPL::Vis::SVGReactionWriter, CDPL::Vis::SVGMolecularGraphWriter, CDPL::Vis::PSReactionWriter, CDPL::Vis::PSMolecularGraphWriter, CDPL::Vis::PNGReactionWriter, CDPL::Vis::PNGMolecularGraphWriter, CDPL::Vis::PDFReactionWriter, CDPL::Vis::PDFMolecularGraphWriter, CDPL::Util::MultiFormatDataWriter< DataType >, CDPL::Util::FileDataWriter< WriterImpl, DataType >, CDPL::Util::CompressedDataWriter< WriterImpl, CompStream, DataType >, CDPL::Pharm::PSDMolecularGraphWriter, CDPL::Pharm::PMLFeatureContainerWriter, CDPL::Pharm::CDFFeatureContainerWriter, CDPL::Grid::CDFDRegularGridWriter, CDPL::Grid::CDFDRegularGridSetWriter, CDPL::Chem::XYZMolecularGraphWriter, CDPL::Chem::SMILESReactionWriter, CDPL::Chem::SMILESMolecularGraphWriter, CDPL::Chem::SMARTSReactionWriter, CDPL::Chem::SMARTSMolecularGraphWriter, CDPL::Chem::SDFMolecularGraphWriter, CDPL::Chem::RXNReactionWriter, CDPL::Chem::RDFReactionWriter, CDPL::Chem::MOLMolecularGraphWriter, CDPL::Chem::MOL2MolecularGraphWriter, CDPL::Chem::JMEReactionWriter, CDPL::Chem::JMEMolecularGraphWriter, CDPL::Chem::INCHIMolecularGraphWriter, CDPL::Chem::CMLMolecularGraphWriter, CDPL::Chem::CDFReactionWriter, CDPL::Chem::CDFMolecularGraphWriter, CDPL::Biomol::PDBMolecularGraphWriter, CDPL::Biomol::MMTFMolecularGraphWriter, and CDPL::Biomol::MMCIFMolecularGraphWriter.
|
pure virtual |
Tells whether the writer is in a bad state.
The operator allows to write expressions like:
false
if the writer is in a good state, and true
otherwise. Implemented in CDPL::Vis::SVGReactionWriter, CDPL::Vis::SVGMolecularGraphWriter, CDPL::Vis::PSReactionWriter, CDPL::Vis::PSMolecularGraphWriter, CDPL::Vis::PNGReactionWriter, CDPL::Vis::PNGMolecularGraphWriter, CDPL::Vis::PDFReactionWriter, CDPL::Vis::PDFMolecularGraphWriter, CDPL::Util::MultiFormatDataWriter< DataType >, CDPL::Util::FileDataWriter< WriterImpl, DataType >, CDPL::Util::CompressedDataWriter< WriterImpl, CompStream, DataType >, CDPL::Pharm::PSDMolecularGraphWriter, CDPL::Pharm::PMLFeatureContainerWriter, CDPL::Pharm::CDFFeatureContainerWriter, CDPL::Grid::CDFDRegularGridWriter, CDPL::Grid::CDFDRegularGridSetWriter, CDPL::Chem::XYZMolecularGraphWriter, CDPL::Chem::SMILESReactionWriter, CDPL::Chem::SMILESMolecularGraphWriter, CDPL::Chem::SMARTSReactionWriter, CDPL::Chem::SMARTSMolecularGraphWriter, CDPL::Chem::SDFMolecularGraphWriter, CDPL::Chem::RXNReactionWriter, CDPL::Chem::RDFReactionWriter, CDPL::Chem::MOLMolecularGraphWriter, CDPL::Chem::MOL2MolecularGraphWriter, CDPL::Chem::JMEReactionWriter, CDPL::Chem::JMEMolecularGraphWriter, CDPL::Chem::INCHIMolecularGraphWriter, CDPL::Chem::CMLMolecularGraphWriter, CDPL::Chem::CDFReactionWriter, CDPL::Chem::CDFMolecularGraphWriter, CDPL::Biomol::PDBMolecularGraphWriter, CDPL::Biomol::MMTFMolecularGraphWriter, and CDPL::Biomol::MMCIFMolecularGraphWriter.
|
protected |
Assignment operator.
writer | The DataWriter instance to copy. |