Interface molecule graph storage. More...
#include <GS_chem.hh>
Data Structures | |
class | edge_is_in_component |
class | node_is_in_component |
Public Member Functions | |
virtual void | add (const Molecule &graph) |
virtual void | addMolecule (const Molecule &mol)=0 |
virtual | ~GS_chem () |
Protected Types | |
typedef boost::filtered_graph < Molecule, edge_is_in_component, node_is_in_component > | ComponentGraph |
typedef std::vector< int > | ComponentIdVec |
typedef boost::property_map < Molecule, PropNodeIndex > ::const_type | IndexMap |
the type of a constant index map of a Molecule boost graph More... | |
An abstract interface for the storage of molecule objects. For instance, it is used by ggl::MR_ApplyRule to store the molecule graphs resulting from graph grammar ggl::chem::ChemRule applications.
Definition at line 26 of file GS_chem.hh.
|
protected |
a component graph definition if more than one connected component present is present and it is needed to split the graph to report into its components
Definition at line 128 of file GS_chem.hh.
|
protected |
the container type used to represent the connected component id for each node
Definition at line 32 of file GS_chem.hh.
|
protected |
Definition at line 35 of file GS_chem.hh.
|
inlinevirtual |
Definition at line 132 of file GS_chem.hh.
|
virtual |
The reported graphs is split into its individual independent components. Each component is forwarded to addMolecule to be implemented by any sub class.
graph | the graph object to add that encodes one or more molecules |
Implements ggl::Graph_Storage.
|
pure virtual |
Adds a single molecule graph to the storage.
mol | the molecule graph to add |
Implemented in ggl::chem::GS_SMILES_MOLp< SMILES_MOL_MAP >, ggl::chem::GS_SMILES_MOLp< Smiles2GraphMap >, ggl::chem::GS_SMILES_OB_MOLp< SMILES_MOL_MAP >, ggl::chem::GS_SMILES_MOL< SMILES_MOL_MAP >, ggl::chem::GS_SMILES_OB_MOL< SMILES_MOL_MAP >, ggl::chem::GS_MolCheck, ggl::chem::GS_SMILES< STL_INSERTER >, and ggl::chem::GS_SMILES_OB< STL_INSERTER >.