Generated on Wed Apr 29 2015 11:51:41 for GGL-4.1.2 by doxygen 1.8.3.1
Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Static Protected Member Functions | Protected Attributes
ggl::RightSidePattern Class Reference

Rule right side graph. More...

#include <RuleGraph.hh>

Inheritance diagram for ggl::RightSidePattern:
Inheritance graph
[legend]

Data Structures

class  EdgeDescriptor
 

Public Types

typedef std::vector< size_t > CompLabel
 
typedef size_t IndexType
 Type for global indicex of nodes in the graph. More...
 

Public Member Functions

virtual Edge_iterator getEdgesBegin (const IndexType &i, const IndexType &j) const
 
virtual Edge_iterator getEdgesEnd (const IndexType &i, const IndexType &j) const
 
virtual std::string getNodeLabel (const IndexType &i) const
 
virtual size_t getNodeNumber (void) const
 
virtual OutEdge_iterator getOutEdgesBegin (const IndexType &i) const
 
virtual OutEdge_iterator getOutEdgesEnd (const IndexType &i) const
 
virtual const RulegetRule (void) const
 
virtual bool operator!= (const Graph_Interface &toCompare) const
 
virtual bool operator== (const Graph_Interface &toCompare) const
 
 RightSidePattern (const Rule &rule)
 
virtual ~RightSidePattern ()
 

Static Public Member Functions

static size_t connectedComponents (const Graph_Interface &g, CompLabel &compID)
 

Protected Types

typedef boost::property_map
< Rule::CoreGraph,
Rule::EdgeContextProperty >
::const_type 
EdgeContextMap
 handle to the property map used to derive the local edge context More...
 
typedef boost::property_map
< Rule::CoreGraph,
Rule::EdgeLabelProperty >
::const_type 
EdgeLabelMap
 handle to the property map used to derive the edge label More...
 
typedef boost::property_map
< Rule::CoreGraph,
Rule::NodeContextProperty >
::const_type 
NodeContextMap
 handle to the property map used to derive the local node context More...
 
typedef boost::property_map
< Rule::CoreGraph,
Rule::NodeIndexProperty >
::const_type 
NodeIndexMap
 handle to the property map used to derive the local node indices More...
 
typedef boost::property_map
< Rule::CoreGraph,
Rule::NodeLabelProperty >
::const_type 
NodeLabelMap
 handle to the property map used to derive the node label More...
 
typedef boost::property_map
< Rule::CoreGraph,
Rule::NodeRightLabelProperty >
::const_type 
NodeRightLabelMap
 handle to the property map used to derive the right node label More...
 

Static Protected Member Functions

static void labelAdjacentNodes (const Graph_Interface &g, const size_t curNode, CompLabel &compID, const size_t label)
 

Protected Attributes

EdgeContextMap edgeContext
 direct access of the edge context map of the core graph More...
 
EdgeLabelMap edgeLabel
 direct access of the edge label map of the core graph More...
 
NodeContextMap nodeContext
 direct access of the node context map of the core graph More...
 
NodeIndexMap nodeIndex
 direct access of the node index map of the core graph More...
 
NodeLabelMap nodeLabel
 direct access of the node label map of the core graph More...
 
NodeRightLabelMap nodeRightLabel
 direct access of the node label map of the core graph More...
 
const Rulerule
 The Rule object to map into the Graph_Interface. More...
 

Detailed Description

     Implements the sgm::Graph_Interface class to allow for the search of
     the right side of a given Rule object using the sgm library.
Author
Martin Mann (c) 2008 http://www.bioinf.uni-freiburg.de/~mmann/

Definition at line 271 of file RuleGraph.hh.

Member Typedef Documentation

typedef std::vector<size_t> sgm::Graph_Interface::CompLabel
inherited

Definition at line 284 of file Graph_Interface.hh.

typedef boost::property_map<Rule::CoreGraph, Rule::EdgeContextProperty>::const_type ggl::RightSidePattern::EdgeContextMap
protected

Definition at line 284 of file RuleGraph.hh.

typedef boost::property_map<Rule::CoreGraph, Rule::EdgeLabelProperty>::const_type ggl::RightSidePattern::EdgeLabelMap
protected

Definition at line 276 of file RuleGraph.hh.

typedef size_t sgm::Graph_Interface::IndexType
inherited

Definition at line 23 of file Graph_Interface.hh.

typedef boost::property_map<Rule::CoreGraph, Rule::NodeContextProperty>::const_type ggl::RightSidePattern::NodeContextMap
protected

Definition at line 286 of file RuleGraph.hh.

typedef boost::property_map<Rule::CoreGraph, Rule::NodeIndexProperty>::const_type ggl::RightSidePattern::NodeIndexMap
protected

Definition at line 282 of file RuleGraph.hh.

typedef boost::property_map<Rule::CoreGraph, Rule::NodeLabelProperty>::const_type ggl::RightSidePattern::NodeLabelMap
protected

Definition at line 278 of file RuleGraph.hh.

typedef boost::property_map<Rule::CoreGraph, Rule::NodeRightLabelProperty>::const_type ggl::RightSidePattern::NodeRightLabelMap
protected

Definition at line 280 of file RuleGraph.hh.

Constructor & Destructor Documentation

ggl::RightSidePattern::RightSidePattern ( const Rule rule)
virtual ggl::RightSidePattern::~RightSidePattern ( )
virtual

Member Function Documentation

static size_t sgm::Graph_Interface::connectedComponents ( const Graph_Interface g,
CompLabel compID 
)
staticinherited

Computes the connected components of a given graph. It stores the connected component ID of each node within the provided container and returns the number of components.

Parameters
gthe graph to check for connected components
compIDthe container to store the component ID information within
Returns
the number of connected components within g
virtual Edge_iterator sgm::Graph_Interface::getEdgesBegin ( const IndexType i,
const IndexType j 
) const
virtualinherited

Access to the label of a specified edge

Parameters
ithe index of the first end node of interest
jthe index of the second end node of interest
Returns
the edge iterator pointing to the first edge between node i and j or to getEdgesEnd(i,j) if no edge exists
virtual Edge_iterator sgm::Graph_Interface::getEdgesEnd ( const IndexType i,
const IndexType j 
) const
virtualinherited

Access to the label of a specified edge

Parameters
ithe index of the first end node of interest
jthe index of the second end node of interest
Returns
the edge iterator pointing to the first edge between node i and j or to getEdgesEnd(i,j) if no edge exists
virtual std::string ggl::RightSidePattern::getNodeLabel ( const IndexType i) const
virtual

Access to the label of a specified node

Parameters
ithe index of the node of interest
Returns
a string representation of the node label

Implements sgm::Graph_Interface.

virtual size_t ggl::RightSidePattern::getNodeNumber ( void  ) const
virtual

Access to the number of nodes of the graph

Returns
the overall node number

Implements sgm::Graph_Interface.

virtual OutEdge_iterator ggl::RightSidePattern::getOutEdgesBegin ( const IndexType i) const
virtual

Access to iteration begin for the edge in the adjacency list of a specified node

Parameters
ithe index of the node of interest
Returns
the iterator to the first edge within the adjacency of i

Implements sgm::Graph_Interface.

virtual OutEdge_iterator ggl::RightSidePattern::getOutEdgesEnd ( const IndexType i) const
virtual

Access to iteration end for the edge in the adjacency list of a specified node

Parameters
ithe index of the node of interest
Returns
the iterator the end of the adjacency iteration of i

Implements sgm::Graph_Interface.

virtual const Rule& ggl::RightSidePattern::getRule ( void  ) const
virtual

Constant access to the internal Rule object.

Returns
the internal Rule object
static void sgm::Graph_Interface::labelAdjacentNodes ( const Graph_Interface g,
const size_t  curNode,
CompLabel compID,
const size_t  label 
)
staticprotectedinherited

Performs a depths-first-search labeling of all accessible nodes starting from curNode within g. The reached nodes are labeled with the given label in the component ID container compID

Parameters
thegraph to screen
curNodethe node to start the search from
compIDthe container to store the component ID information within
labelthe component ID to be used for all nodes of the connected component reachable from curNode
virtual bool sgm::Graph_Interface::operator!= ( const Graph_Interface toCompare) const
virtualinherited

Interface inequality comparison : NOTE : this function checks whether the interfaces of two graphs are identical or not, i.e. nodes with same index are equal and the order of adjacent edges is the same. This function performs NO GRAPH ISOMORPHISM !!! Thus, slight changes in the node order etc. will result in a non-equal interface!

Parameters
toComparethe Graph_Interface to compare to
Returns
true if both graph interfaces are different
virtual bool sgm::Graph_Interface::operator== ( const Graph_Interface toCompare) const
virtualinherited

Interface equality comparison : NOTE : this function checks whether the interfaces of two graphs are identical or not, i.e. nodes with same index are equal and the order of adjacent edges is the same. This function performs NO GRAPH ISOMORPHISM !!! Thus, slight changes in the node order etc. will result in a non-equal interface!

Parameters
toComparethe Graph_Interface to compare to
Returns
true if both graph interfaces are equal

Field Documentation

EdgeContextMap ggl::RightSidePattern::edgeContext
protected

Definition at line 302 of file RuleGraph.hh.

EdgeLabelMap ggl::RightSidePattern::edgeLabel
protected

Definition at line 294 of file RuleGraph.hh.

NodeContextMap ggl::RightSidePattern::nodeContext
protected

Definition at line 304 of file RuleGraph.hh.

NodeIndexMap ggl::RightSidePattern::nodeIndex
protected

Definition at line 300 of file RuleGraph.hh.

NodeLabelMap ggl::RightSidePattern::nodeLabel
protected

Definition at line 296 of file RuleGraph.hh.

NodeRightLabelMap ggl::RightSidePattern::nodeRightLabel
protected

Definition at line 298 of file RuleGraph.hh.

const Rule& ggl::RightSidePattern::rule
protected

Definition at line 290 of file RuleGraph.hh.


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