BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
BALL::TSimpleMolecularGraph< Node, Edge > Class Template Reference

#include <BALL/STRUCTURE/simpleMolecularGraph.h>

Public Types

typedef NodeItem< Node, Edge > NodeItemType
 
typedef EdgeItem< Node, Edge > EdgeItemType
 
typedef std::list
< NodeItemType >::iterator 
NodeIterator
 
typedef std::list
< NodeItemType >
::const_iterator 
NodeConstIterator
 
typedef std::list
< EdgeItemType >::iterator 
EdgeIterator
 
typedef std::list
< EdgeItemType >
::const_iterator 
EdgeConstIterator
 

Public Member Functions

 TSimpleMolecularGraph ()
 
 TSimpleMolecularGraph (const Molecule &molecule)
 
bool newNode (const Atom &atom)
 
bool newEdge (const Bond &bond)
 
bool deleteNode (NodeItemType &node)
 
bool deleteEdge (EdgeItemType &edge)
 
bool deleteNode (const Atom &atom)
 
bool deleteEdge (const Bond &bond)
 
NodeIterator beginNode ()
 
NodeConstIterator beginNode () const
 
EdgeIterator beginEdge ()
 
EdgeConstIterator beginEdge () const
 
NodeIterator endNode ()
 
NodeConstIterator endNode () const
 
EdgeIterator endEdge ()
 
EdgeConstIterator endEdge () const
 
bool has (const Atom &atom) const
 
bool has (const Bond &bond) const
 
NodeItemTypegetNode (Position index)
 
const NodeItemTypegetNode (Position index) const
 
EdgeItemTypegetEdge (Position index)
 
const EdgeItemTypegetEdge (Position index) const
 
Size getNumberOfNodes () const
 
Size getNumberOfEdges () const
 

Protected Attributes

std::list< NodeItemTypenodes_
 
std::list< EdgeItemTypeedges_
 
HashMap< Atom *, NodeItemType * > atom_to_node_
 
HashMap< Bond *, EdgeItemType * > bond_to_edge_
 

Detailed Description

template<typename Node, typename Edge>
class BALL::TSimpleMolecularGraph< Node, Edge >

Definition at line 35 of file simpleMolecularGraph.h.

Member Typedef Documentation

template<typename Node, typename Edge>
typedef std::list<EdgeItemType>::const_iterator BALL::TSimpleMolecularGraph< Node, Edge >::EdgeConstIterator

Definition at line 153 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
typedef EdgeItem<Node, Edge> BALL::TSimpleMolecularGraph< Node, Edge >::EdgeItemType

Definition at line 149 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
typedef std::list<EdgeItemType>::iterator BALL::TSimpleMolecularGraph< Node, Edge >::EdgeIterator

Definition at line 152 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
typedef std::list<NodeItemType>::const_iterator BALL::TSimpleMolecularGraph< Node, Edge >::NodeConstIterator

Definition at line 151 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
typedef NodeItem<Node, Edge> BALL::TSimpleMolecularGraph< Node, Edge >::NodeItemType

Definition at line 148 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
typedef std::list<NodeItemType>::iterator BALL::TSimpleMolecularGraph< Node, Edge >::NodeIterator

Definition at line 150 of file simpleMolecularGraph.h.

Constructor & Destructor Documentation

template<typename Node , typename Edge >
BALL::TSimpleMolecularGraph< Node, Edge >::TSimpleMolecularGraph ( )

Definition at line 205 of file simpleMolecularGraph.h.

template<typename Node , typename Edge >
BALL::TSimpleMolecularGraph< Node, Edge >::TSimpleMolecularGraph ( const Molecule molecule)

Definition at line 215 of file simpleMolecularGraph.h.

Member Function Documentation

template<typename Node, typename Edge>
EdgeIterator BALL::TSimpleMolecularGraph< Node, Edge >::beginEdge ( )
inline

Definition at line 169 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
EdgeConstIterator BALL::TSimpleMolecularGraph< Node, Edge >::beginEdge ( ) const
inline

Definition at line 170 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
NodeIterator BALL::TSimpleMolecularGraph< Node, Edge >::beginNode ( )
inline

Definition at line 167 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
NodeConstIterator BALL::TSimpleMolecularGraph< Node, Edge >::beginNode ( ) const
inline

Definition at line 168 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
bool BALL::TSimpleMolecularGraph< Node, Edge >::deleteEdge ( EdgeItemType edge)
template<typename Node , typename Edge >
bool BALL::TSimpleMolecularGraph< Node, Edge >::deleteEdge ( const Bond bond)

Definition at line 325 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
bool BALL::TSimpleMolecularGraph< Node, Edge >::deleteNode ( NodeItemType node)
template<typename Node , typename Edge >
bool BALL::TSimpleMolecularGraph< Node, Edge >::deleteNode ( const Atom atom)

Definition at line 314 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
EdgeIterator BALL::TSimpleMolecularGraph< Node, Edge >::endEdge ( )
inline

Definition at line 173 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
EdgeConstIterator BALL::TSimpleMolecularGraph< Node, Edge >::endEdge ( ) const
inline

Definition at line 174 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
NodeIterator BALL::TSimpleMolecularGraph< Node, Edge >::endNode ( )
inline

Definition at line 171 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
NodeConstIterator BALL::TSimpleMolecularGraph< Node, Edge >::endNode ( ) const
inline

Definition at line 172 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
EdgeItemType& BALL::TSimpleMolecularGraph< Node, Edge >::getEdge ( Position  index)
inline

Definition at line 181 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
const EdgeItemType& BALL::TSimpleMolecularGraph< Node, Edge >::getEdge ( Position  index) const
inline

Definition at line 182 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
NodeItemType& BALL::TSimpleMolecularGraph< Node, Edge >::getNode ( Position  index)
inline

Definition at line 179 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
const NodeItemType& BALL::TSimpleMolecularGraph< Node, Edge >::getNode ( Position  index) const
inline

Definition at line 180 of file simpleMolecularGraph.h.

template<typename Node , typename Edge >
BALL_INLINE Size BALL::TSimpleMolecularGraph< Node, Edge >::getNumberOfEdges ( ) const

Return the number of nodes in the graph

Definition at line 500 of file simpleMolecularGraph.h.

template<typename Node , typename Edge >
BALL_INLINE Size BALL::TSimpleMolecularGraph< Node, Edge >::getNumberOfNodes ( ) const

Return the number of nodes in the graph

Definition at line 492 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
bool BALL::TSimpleMolecularGraph< Node, Edge >::has ( const Atom atom) const
inline

Definition at line 176 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
bool BALL::TSimpleMolecularGraph< Node, Edge >::has ( const Bond bond) const
inline

Definition at line 177 of file simpleMolecularGraph.h.

template<typename Node , typename Edge >
bool BALL::TSimpleMolecularGraph< Node, Edge >::newEdge ( const Bond bond)

Definition at line 258 of file simpleMolecularGraph.h.

template<typename Node , typename Edge >
bool BALL::TSimpleMolecularGraph< Node, Edge >::newNode ( const Atom atom)

Definition at line 241 of file simpleMolecularGraph.h.

Member Data Documentation

template<typename Node, typename Edge>
HashMap<Atom*, NodeItemType*> BALL::TSimpleMolecularGraph< Node, Edge >::atom_to_node_
protected

Definition at line 195 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
HashMap<Bond*, EdgeItemType*> BALL::TSimpleMolecularGraph< Node, Edge >::bond_to_edge_
protected

Definition at line 196 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
std::list<EdgeItemType> BALL::TSimpleMolecularGraph< Node, Edge >::edges_
protected

Definition at line 194 of file simpleMolecularGraph.h.

template<typename Node, typename Edge>
std::list<NodeItemType> BALL::TSimpleMolecularGraph< Node, Edge >::nodes_
protected

Definition at line 193 of file simpleMolecularGraph.h.