Graybat  1.1
Graph Approach for Highly Generic Communication Schemes Based on Adaptive Topologies
graybat::graphPolicy::BGL< T_VertexProperty, T_EdgeProperty > Class Template Reference

A class to describe directed graphs. More...

#include <BGL.hpp>

Public Types

using VertexProperty = T_VertexProperty
 
using EdgeProperty = T_EdgeProperty
 
using VertexDescription = graybat::graphPolicy::VertexDescription< BGL >
 
using EdgeDescription = graybat::graphPolicy::EdgeDescription< BGL >
 
using GraphDescription = graybat::graphPolicy::GraphDescription< BGL >
 
using InEdgeIter = typename boost::graph_traits< BGLGraph >::in_edge_iterator
 
using OutEdgeIter = typename boost::graph_traits< BGLGraph >::out_edge_iterator
 
using AdjacentVertexIter = typename boost::graph_traits< BGLGraph >::adjacency_iterator
 
using AllVertexIter = typename boost::graph_traits< BGLGraph >::vertex_iterator
 

Public Member Functions

 BGL (GraphDescription graphDesc)
 The graph has to be described by edges (source Vertex ==> target Vertex) and the vertices of this graph.
 
std::pair< AllVertexIter, AllVertexIter > getVertices ()
 Returns all vertices of the graph.
 
std::pair< EdgeID, bool > getEdge (const VertexID source, const VertexID target)
 Returns the edge between source and target vertex.
 
std::pair< AdjacentVertexIter, AdjacentVertexIter > getAdjacentVertices (const VertexID id)
 Returns all vertices, that are adjacent (connected) to vertex
 
std::pair< OutEdgeIter, OutEdgeIter > getOutEdges (const VertexID id)
 Returns all outgoing edgpes of srcVertex paired with its target vertex.
 
std::pair< InEdgeIter, InEdgeIter > getInEdges (const VertexID id)
 Returns all incoming edges to targetVertex paired with its source vertex.
 
BglVertexID getLocalID (VertexProperty vertex)
 Returns the local id of vertex in this graph. More...
 
void setVertexProperty (BglVertexID vertex, VertexProperty value)
 
void setVertexProperty (BglVertexID vertex, std::pair< VertexID, VertexProperty > propPair)
 
void setEdgeProperty (BglEdgeID edge, EdgeProperty value)
 
void setEdgeProperty (BglEdgeID edge, std::pair< EdgeID, EdgeProperty > propPair)
 
std::pair< VertexID, VertexProperty > & getVertexProperty (const VertexID vertex)
 Returns the property of vertex.
 
std::pair< EdgeID, EdgeProperty > & getEdgeProperty (const BglEdgeID edge)
 Return the property of edge.
 
std::pair< EdgeID, EdgeProperty > & getEdgeProperty (const EdgeID edge)
 
BglVertexID getEdgeTarget (const BglEdgeID edge)
 Return the vertex to which edge points to.
 
VertexID getEdgeTarget (const EdgeID edge)
 
BglVertexID getEdgeSource (const BglEdgeID edge)
 Return the vertex to which edge points from.
 
VertexID getEdgeSource (const EdgeID edge)
 

Public Attributes

GraphID id
 

Detailed Description

template<class T_VertexProperty = SimpleProperty, class T_EdgeProperty = SimpleProperty>
class graybat::graphPolicy::BGL< T_VertexProperty, T_EdgeProperty >

A class to describe directed graphs.

GraphPolicy on basis of the boost graph library.

Examples:
anyrecv.cpp, chain.cpp, forward.cpp, gol.cpp, and ring.cpp.

Member Function Documentation

template<class T_VertexProperty = SimpleProperty, class T_EdgeProperty = SimpleProperty>
BglVertexID graybat::graphPolicy::BGL< T_VertexProperty, T_EdgeProperty >::getLocalID ( VertexProperty  vertex)
inline

Returns the local id of vertex in this graph.

If this graph has no supergraph (hasSuperGraph()==false) then local ids are the same as global ids.


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