Generated on Wed Apr 29 2015 11:51:41 for GGL-4.1.2 by doxygen 1.8.3.1
Public Member Functions | Protected Attributes
sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor Class Reference

#include <Graph_boostV_p.hh>

Inheritance diagram for sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor:
Inheritance graph
[legend]

Public Member Functions

virtual EdgeDescriptorclone () const
 
 EdgeDescriptor (const typename GRAPH::out_edge_iterator &cur_edge, const typename GRAPH::out_edge_iterator &neigh_end, const GRAPH &graph, const size_t nodeIndexShift)
 
virtual const std::string & getEdgeLabel (void) const
 
const Graph_Interface::IndexTypegetFromIndex (void) const
 
const Graph_Interface::IndexTypegetToIndex (void) const
 
virtual bool operator!= (const EdgeDescriptor &ed) const
 
virtual bool operator!= (const Graph_Interface::EdgeDescriptor &ed) const
 
virtual EdgeDescriptoroperator++ ()
 
virtual bool operator== (const EdgeDescriptor &ed) const
 
virtual bool operator== (const EdgeDescriptor &ed) const
 
virtual ~EdgeDescriptor ()
 Destruction. More...
 

Protected Attributes

GRAPH::out_edge_iterator cur_edge
 
EdgeLabelMap edgeLabelMap
 edge label access More...
 
Graph_Interface::IndexType from
 the source of the edge described More...
 
const GRAPH & graph
 access to the graph instance More...
 
GRAPH::out_edge_iterator list_end
 
NodeIndexMap nodeIndexMap
 node index access More...
 
const size_t nodeIndexShift
 the index shift to correct node indices to the global index More...
 
Graph_Interface::IndexType to
 the target of the edge described More...
 

Detailed Description

template<class GRAPH, typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
class sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor

Special edge descriptor to enable the iteration over the edges contained in the internally used boost graph instance.

Definition at line 119 of file Graph_boostV_p.hh.

Constructor & Destructor Documentation

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::EdgeDescriptor ( const typename GRAPH::out_edge_iterator &  cur_edge,
const typename GRAPH::out_edge_iterator &  neigh_end,
const GRAPH &  graph,
const size_t  nodeIndexShift 
)

Construction of a new edge descriptor given the our edge iterators

Parameters
cur_edgethe current boost edge iterator
neigh_endthe end of the edge iteration
graphthe graph instance the edge iterator is based on
nodeIndexShiftindex shift needed to correct node indices to the global index
template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
virtual sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::~EdgeDescriptor ( )
virtual

Member Function Documentation

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
virtual EdgeDescriptor* sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::clone ( ) const
virtual

Create a heap copy of this object. NOTE: this has to be removed by the calling function.

Returns
a new heap copy of this object

Implements sgm::Graph_Interface::EdgeDescriptor.

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
virtual const std::string& sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::getEdgeLabel ( void  ) const
virtual

Access to the label of the edge.

Returns
the edge label

Implements sgm::Graph_Interface::EdgeDescriptor.

const Graph_Interface::IndexType& sgm::Graph_Interface::EdgeDescriptor::getFromIndex ( void  ) const
inherited

Access to the source of the edge.

Returns
the global source node index
const Graph_Interface::IndexType& sgm::Graph_Interface::EdgeDescriptor::getToIndex ( void  ) const
inherited

Access to the target of the edge.

Returns
the global target node index
template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
virtual bool sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::operator!= ( const EdgeDescriptor ed) const
virtual

Inequality comparison

Parameters
edthe edge to compare to
Returns
true if both descriptors describe different edges
template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
virtual bool sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::operator!= ( const Graph_Interface::EdgeDescriptor ed) const
virtual

Inequality comparison

Parameters
edthe edge to compare to
Returns
true if both descriptors describe different edges

Implements sgm::Graph_Interface::EdgeDescriptor.

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
virtual EdgeDescriptor& sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::operator++ ( )
virtual

Iterator support

Returns
the next EdgeDescriptor in the adjacency

Implements sgm::Graph_Interface::EdgeDescriptor.

virtual bool sgm::Graph_Interface::EdgeDescriptor::operator== ( const EdgeDescriptor ed) const
virtualinherited

Equality comparison

Parameters
edthe edge to compare to
Returns
true if both descriptors describe the same edge
template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
virtual bool sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::operator== ( const EdgeDescriptor ed) const
virtual

Equality comparison

Parameters
edthe edge to compare to
Returns
true if both descriptors describe the same edge

Field Documentation

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
GRAPH::out_edge_iterator sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::cur_edge
protected

the out edge iterator of the current target node within the local adjacency list

Definition at line 129 of file Graph_boostV_p.hh.

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
EdgeLabelMap sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::edgeLabelMap
protected

Definition at line 143 of file Graph_boostV_p.hh.

Graph_Interface::IndexType sgm::Graph_Interface::EdgeDescriptor::from
protectedinherited

Definition at line 53 of file Graph_Interface.hh.

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
const GRAPH& sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::graph
protected

Definition at line 135 of file Graph_boostV_p.hh.

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
GRAPH::out_edge_iterator sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::list_end
protected

the edge iterator that marks the end of the local adjacency list

Definition at line 132 of file Graph_boostV_p.hh.

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
NodeIndexMap sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::nodeIndexMap
protected

Definition at line 141 of file Graph_boostV_p.hh.

template<class GRAPH , typename NODE_LABEL_PROPERTY = boost::vertex_name_t, typename EDGE_LABEL_PROPERTY = boost::edge_name_t, typename NODE_INDEX_PROPERTY = boost::vertex_index_t>
const size_t sgm::Graph_boostV_p< GRAPH, NODE_LABEL_PROPERTY, EDGE_LABEL_PROPERTY, NODE_INDEX_PROPERTY >::EdgeDescriptor::nodeIndexShift
protected

Definition at line 138 of file Graph_boostV_p.hh.

Graph_Interface::IndexType sgm::Graph_Interface::EdgeDescriptor::to
protectedinherited

Definition at line 55 of file Graph_Interface.hh.


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