Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

SmartsParser::SPNode Class Reference

Representation of a node in the smarts parser graph. More...

#include <smartsParser.h>

List of all members.

Public Types

Iterators
typedef std::vector< SPEdge
* >::iterator 
EdgeIterator
 non-constant edge iterator
typedef std::vector< SPEdge
* >::const_iterator 
EdgeConstIterator
 constant edge iterator

Public Member Functions

Constructors and destructors
 SPNode ()
 Default constructor.
 SPNode (SPAtom *atom)
 Detailed constructor with an atom.
 SPNode (SPNode *first, LogicalOperator log_op, SPNode *second)
 Detailed constructor with two nodes and a logical operator.
 SPNode (const SPNode &sp_node)
 Copy constructor.
virtual ~SPNode ()
 Destructor.
Accessors
bool isInternal () const
 returns true if the SPNode is an internal node
void setInternal (bool internal)
 sets the internal flag
bool isRecursive () const
 returns true if the SPNode is a recursive node (from recursive SMARTS)
void setRecursive (bool recursive)
 sets the recursive flag
void setComponentNumber (int no)
 set the component no of the component level grouping
Size getComponentNumber ()
 returns the component number
SPAtomgetSPAtom () const
 returns the associated SPAtom
void setSPAtom (SPAtom *sp_atom)
 set the associated SPAtom
SPEdgegetFirstEdge () const
 returns the first edge (for tree use)
void setFirstEdge (SPEdge *first)
 sets the first edge (for tree use)
SPEdgegetSecondEdge () const
 returns the second edge (for tree use)
void setSecondEdge (SPEdge *second)
 sets the second edge (for tree use)
bool getNot () const
 returns the negation flag
void setNot (bool is_not)
 sets the negation flag
void addSPEdge (SPEdge *sp_edge)
 adds a new SPEdge (not for tree use)
void setLogicalOperator (LogicalOperator log_op)
 sets the logical operator associated with the SPNode
LogicalOperator getLogicalOperator () const
 returns the logical operator of the SPNode
Size countEdges () const
 counts the number of edges
Iterators
EdgeIterator begin ()
 mutable access to begin of edges list
EdgeIterator end ()
 mutable access to end of edges list
EdgeConstIterator begin () const
 non-mutable access to begin of edges list
EdgeConstIterator end () const
 non-mutable access to end of edges list

Protected Attributes

bool internal_
 internal flag
bool is_not_
 negotiation flag
bool recursive_
 recursive flag
LogicalOperator log_op_
 logical operator associated with this SPNode
std::vector< SPEdge * > edges_
 edges list
SPEdgefirst_edge_
 first edge
SPEdgesecond_edge_
 second edge
SPAtomsp_atom_
 SPAtom associated with this SPNode.
int component_no_
 component level


Detailed Description

Representation of a node in the smarts parser graph.