Chemical Data Processing Library C++ API - Version 1.2.0
Public Member Functions | List of all members
CDPL::Chem::SMILESReactionWriter Class Reference

A writer for reaction data in the Daylight SMILES [SMILES] format. More...

#include <SMILESReactionWriter.hpp>

+ Inheritance diagram for CDPL::Chem::SMILESReactionWriter:

Public Member Functions

 SMILESReactionWriter (std::ostream &os)
 Constructs a SMILESReactionWriter instance that will write the reaction data to the output stream os. More...
 
 SMILESReactionWriter (const SMILESReactionWriter &)=delete
 
 ~SMILESReactionWriter ()
 Destructor. More...
 
SMILESReactionWriteroperator= (const SMILESReactionWriter &)=delete
 
Base::DataWriter< Reaction > & write (const Reaction &rxn)
 Writes the reaction rxn to the output stream specified in the constructor. More...
 
 operator const void * () const
 Returns a pointer whose value indicates the error state of the writer. More...
 
bool operator! () const
 Tells whether the writer is in a bad state. More...
 
- Public Member Functions inherited from CDPL::Base::DataWriter< Reaction >
virtual DataWriterwrite (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...
 
- 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...
 

Additional Inherited Members

- Public Types inherited from CDPL::Base::DataWriter< Reaction >
typedef std::shared_ptr< DataWriterSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated DataWriter instances. More...
 
typedef Reaction 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...
 
- Protected Member Functions inherited from CDPL::Base::DataWriter< Reaction >
DataWriteroperator= (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...
 
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

A writer for reaction data in the Daylight SMILES [SMILES] format.

SMILESReactionWriter supports the following control-parameters:

Control-Parameter Default Value (see Chem::ControlParameterDefault) Description
Chem::ControlParameter::STRICT_ERROR_CHECKING false Specifies whether non-fatal recoverable errors should be ignored or cause a write operation to fail
Chem::ControlParameter::ORDINARY_HYDROGEN_DEPLETE true Specifies whether or not to write explicit ordinary hydrogen atoms
Chem::ControlParameter::SMILES_RECORD_FORMAT "S" Specifies the data record format
Chem::ControlParameter::SMILES_WRITE_CANONICAL_FORM false Specifies whether to generate canonical SMILES strings
Chem::ControlParameter::SMILES_WRITE_KEKULE_FORM false Specifies whether to output aromatic rings as Kekulé structures
Chem::ControlParameter::SMILES_WRITE_ATOM_STEREO true Specifies whether to output the chirality of tetrahedral stereogenic atoms
Chem::ControlParameter::SMILES_WRITE_BOND_STEREO true Specifies whether to output directional bonds for the specification of chain double bond geometries
Chem::ControlParameter::SMILES_WRITE_RING_BOND_STEREO true Specifies whether to output directional bonds for the specification of ring double bond geometries
Chem::ControlParameter::SMILES_MIN_STEREO_BOND_RING_SIZE 8 Specifies the minimum ring size that is required for the specification of ring double bond geometries
Chem::ControlParameter::SMILES_WRITE_ISOTOPE true Specifies whether to output the mass of isotopes
Chem::ControlParameter::SMILES_RXN_WRITE_ATOM_MAPPING_ID true Specifies whether to output reaction atom-atom mapping numbers
Chem::ControlParameter::SMILES_WRITE_SINGLE_BONDS false Specifies whether to output single bonds
Chem::ControlParameter::SMILES_WRITE_AROMATIC_BONDS false Specifies whether to output aromatic bonds
Chem::ControlParameter::SMILES_NO_ORGANIC_SUBSET false Specifies whether ordinary C, N, O, S, P, F, Cl, Br and I atoms shall be enclosed in brackets

Constructor & Destructor Documentation

◆ SMILESReactionWriter() [1/2]

CDPL::Chem::SMILESReactionWriter::SMILESReactionWriter ( std::ostream &  os)

Constructs a SMILESReactionWriter instance that will write the reaction data to the output stream os.

Parameters
osThe output stream to write to.

◆ SMILESReactionWriter() [2/2]

CDPL::Chem::SMILESReactionWriter::SMILESReactionWriter ( const SMILESReactionWriter )
delete

◆ ~SMILESReactionWriter()

CDPL::Chem::SMILESReactionWriter::~SMILESReactionWriter ( )

Destructor.

Member Function Documentation

◆ operator=()

SMILESReactionWriter& CDPL::Chem::SMILESReactionWriter::operator= ( const SMILESReactionWriter )
delete

◆ write()

Base::DataWriter<Reaction>& CDPL::Chem::SMILESReactionWriter::write ( const Reaction rxn)

Writes the reaction rxn to the output stream specified in the constructor.

Parameters
rxnThe reaction to write.
Returns
A reference to itself.

◆ operator const void *()

CDPL::Chem::SMILESReactionWriter::operator const void * ( ) const
virtual

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

The operator allows to write expressions like:

if (writer) { ...
if (writer.write(...)) { ...
Returns
A non-null pointer if the writer 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!()

Implements CDPL::Base::DataWriter< Reaction >.

◆ operator!()

bool CDPL::Chem::SMILESReactionWriter::operator! ( ) const
virtual

Tells whether the writer is in a bad state.

The operator allows to write expressions like:

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

Implements CDPL::Base::DataWriter< Reaction >.


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