BALL 1.5.0
Loading...
Searching...
No Matches
BALL::SmartsParser::SPNode Class Reference

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

#include <BALL/STRUCTURE/smartsParser.h>

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 () const
 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)
 flag whether the pattern is in brackets
 
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

typedef std::vector< SPEdge * >::iterator EdgeIterator
 non-constant edge iterator
 
typedef std::vector< SPEdge * >::const_iterator EdgeConstIterator
 constant edge iterator
 
bool internal_
 internal flag
 
bool is_not_
 negotiation flag
 
bool recursive_
 recursive flag
 
LogicalOperator log_op_
 in brackets flag
 
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
 
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
 

Detailed Description

Representation of a node in the smarts parser graph.

Definition at line 486 of file smartsParser.h.

Member Typedef Documentation

◆ EdgeConstIterator

constant edge iterator

Definition at line 497 of file smartsParser.h.

◆ EdgeIterator

non-constant edge iterator

Definition at line 494 of file smartsParser.h.

Constructor & Destructor Documentation

◆ SPNode() [1/4]

BALL::SmartsParser::SPNode::SPNode ( )

Default constructor.

◆ SPNode() [2/4]

BALL::SmartsParser::SPNode::SPNode ( SPAtom * atom)

Detailed constructor with an atom.

◆ SPNode() [3/4]

BALL::SmartsParser::SPNode::SPNode ( SPNode * first,
LogicalOperator log_op,
SPNode * second )

Detailed constructor with two nodes and a logical operator.

◆ SPNode() [4/4]

BALL::SmartsParser::SPNode::SPNode ( const SPNode & sp_node)

Copy constructor.

◆ ~SPNode()

virtual BALL::SmartsParser::SPNode::~SPNode ( )
virtual

Destructor.

Member Function Documentation

◆ addSPEdge()

void BALL::SmartsParser::SPNode::addSPEdge ( SPEdge * sp_edge)
inline

flag whether the pattern is in brackets

adds a new SPEdge (not for tree use)

Definition at line 571 of file smartsParser.h.

◆ begin() [1/2]

EdgeIterator BALL::SmartsParser::SPNode::begin ( )
inline

mutable access to begin of edges list

Definition at line 587 of file smartsParser.h.

◆ begin() [2/2]

EdgeConstIterator BALL::SmartsParser::SPNode::begin ( ) const
inline

non-mutable access to begin of edges list

Definition at line 593 of file smartsParser.h.

◆ countEdges()

Size BALL::SmartsParser::SPNode::countEdges ( ) const
inline

counts the number of edges

Definition at line 580 of file smartsParser.h.

◆ end() [1/2]

EdgeIterator BALL::SmartsParser::SPNode::end ( )
inline

mutable access to end of edges list

Definition at line 590 of file smartsParser.h.

◆ end() [2/2]

EdgeConstIterator BALL::SmartsParser::SPNode::end ( ) const
inline

non-mutable access to end of edges list

Definition at line 596 of file smartsParser.h.

◆ getComponentNumber()

Size BALL::SmartsParser::SPNode::getComponentNumber ( ) const
inline

returns the component number

Definition at line 540 of file smartsParser.h.

◆ getFirstEdge()

SPEdge * BALL::SmartsParser::SPNode::getFirstEdge ( ) const
inline

returns the first edge (for tree use)

Definition at line 549 of file smartsParser.h.

◆ getLogicalOperator()

LogicalOperator BALL::SmartsParser::SPNode::getLogicalOperator ( ) const
inline

returns the logical operator of the SPNode

Definition at line 577 of file smartsParser.h.

◆ getNot()

bool BALL::SmartsParser::SPNode::getNot ( ) const
inline

returns the negation flag

Definition at line 561 of file smartsParser.h.

◆ getSecondEdge()

SPEdge * BALL::SmartsParser::SPNode::getSecondEdge ( ) const
inline

returns the second edge (for tree use)

Definition at line 555 of file smartsParser.h.

◆ getSPAtom()

SPAtom * BALL::SmartsParser::SPNode::getSPAtom ( ) const
inline

returns the associated SPAtom

Definition at line 543 of file smartsParser.h.

◆ isInternal()

bool BALL::SmartsParser::SPNode::isInternal ( ) const
inline

returns true if the SPNode is an internal node

Definition at line 525 of file smartsParser.h.

◆ isRecursive()

bool BALL::SmartsParser::SPNode::isRecursive ( ) const
inline

returns true if the SPNode is a recursive node (from recursive SMARTS)

Definition at line 531 of file smartsParser.h.

◆ setComponentNumber()

void BALL::SmartsParser::SPNode::setComponentNumber ( int no)
inline

set the component no of the component level grouping

Definition at line 537 of file smartsParser.h.

◆ setFirstEdge()

void BALL::SmartsParser::SPNode::setFirstEdge ( SPEdge * first)
inline

sets the first edge (for tree use)

Definition at line 552 of file smartsParser.h.

◆ setInternal()

void BALL::SmartsParser::SPNode::setInternal ( bool internal)
inline

sets the internal flag

Definition at line 528 of file smartsParser.h.

◆ setLogicalOperator()

void BALL::SmartsParser::SPNode::setLogicalOperator ( LogicalOperator log_op)
inline

sets the logical operator associated with the SPNode

Definition at line 574 of file smartsParser.h.

◆ setNot()

void BALL::SmartsParser::SPNode::setNot ( bool is_not)
inline

sets the negation flag

Definition at line 564 of file smartsParser.h.

◆ setRecursive()

void BALL::SmartsParser::SPNode::setRecursive ( bool recursive)

sets the recursive flag

◆ setSecondEdge()

void BALL::SmartsParser::SPNode::setSecondEdge ( SPEdge * second)
inline

sets the second edge (for tree use)

Definition at line 558 of file smartsParser.h.

◆ setSPAtom()

void BALL::SmartsParser::SPNode::setSPAtom ( SPAtom * sp_atom)
inline

set the associated SPAtom

Definition at line 546 of file smartsParser.h.

Member Data Documentation

◆ component_no_

int BALL::SmartsParser::SPNode::component_no_
protected

component level

Definition at line 629 of file smartsParser.h.

◆ edges_

std::vector<SPEdge*> BALL::SmartsParser::SPNode::edges_
protected

edges list

Definition at line 617 of file smartsParser.h.

◆ first_edge_

SPEdge* BALL::SmartsParser::SPNode::first_edge_
protected

first edge

Definition at line 620 of file smartsParser.h.

◆ internal_

bool BALL::SmartsParser::SPNode::internal_
protected

internal flag

Definition at line 602 of file smartsParser.h.

◆ is_not_

bool BALL::SmartsParser::SPNode::is_not_
protected

negotiation flag

Definition at line 605 of file smartsParser.h.

◆ log_op_

LogicalOperator BALL::SmartsParser::SPNode::log_op_
protected

in brackets flag

logical operator associated with this SPNode

Definition at line 614 of file smartsParser.h.

◆ recursive_

bool BALL::SmartsParser::SPNode::recursive_
protected

recursive flag

Definition at line 608 of file smartsParser.h.

◆ second_edge_

SPEdge* BALL::SmartsParser::SPNode::second_edge_
protected

second edge

Definition at line 623 of file smartsParser.h.

◆ sp_atom_

SPAtom* BALL::SmartsParser::SPNode::sp_atom_
protected

SPAtom associated with this SPNode.

Definition at line 626 of file smartsParser.h.