Public Types | |
typedef adjacency_list< vecS, vecS, directedS, property < vertex_properties_t, VERTEXPROPERTIES >, property < edge_properties_t, EDGEPROPERTIES, property < edge_weight_t, double > > > | Graph |
typedef graph_traits< Graph > ::vertex_descriptor | Vertex |
typedef graph_traits< Graph > ::edge_descriptor | Edge |
typedef std::pair< Edge, Edge > | EdgePair |
typedef graph_traits< Graph > ::vertex_iterator | vertex_iterator |
typedef graph_traits< Graph > ::edge_iterator | edge_iterator |
typedef graph_traits< Graph > ::adjacency_iterator | adjacency_iterator |
typedef graph_traits< Graph > ::out_edge_iterator | out_edge_iterator |
typedef graph_traits< Graph > ::degree_size_type | degree_size_type |
typedef std::pair < adjacency_iterator, adjacency_iterator > | adjacency_vertex_range_t |
typedef std::pair < out_edge_iterator, out_edge_iterator > | out_edge_range_t |
typedef std::pair < vertex_iterator, vertex_iterator > | vertex_range_t |
typedef std::pair < edge_iterator, edge_iterator > | edge_range_t |
Public Member Functions | |
GraphWrapper () | |
GraphWrapper (const GraphWrapper &g) | |
virtual | ~GraphWrapper () |
void | clear () |
Vertex | addVertex (const VERTEXPROPERTIES &prop) |
void | removeVertex (const Vertex &v) |
EdgePair | addBidirEdge (const Vertex &v1, const Vertex &v2, const EDGEPROPERTIES &prop_12, const EDGEPROPERTIES &prop_21) |
Edge | addEdge (const Vertex &v1, const Vertex &v2, const EDGEPROPERTIES &prop) |
VERTEXPROPERTIES & | properties (const Vertex &v) |
const VERTEXPROPERTIES & | properties (const Vertex &v) const |
EDGEPROPERTIES & | properties (const Edge &v) |
const EDGEPROPERTIES & | properties (const Edge &v) const |
VERTEXPROPERTIES & | getSourceProp (const Edge &e) |
VERTEXPROPERTIES & | getTargetProp (const Edge &e) |
Graph & | getGraph () |
vertex_range_t | getVertices () const |
edge_range_t | getEdges () const |
adjacency_vertex_range_t | getAdjacentVertices (const Vertex &v) const |
int | getVertexCount () const |
int | getVertexDegree (const Vertex &v) const |
Vertex | getVertex (const int &index) |
Vertex | getSource (const Edge &e) |
Vertex | getTarget (const Edge &e) |
std::pair< Edge, bool > | getEdge (const Vertex &src, const Vertex &dst) |
GraphWrapper & | operator= (const GraphWrapper &rhs) |
Protected Attributes | |
Graph | graph |
typedef graph_traits<Graph>::adjacency_iterator GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::adjacency_iterator |
typedef std::pair<adjacency_iterator, adjacency_iterator> GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::adjacency_vertex_range_t |
typedef graph_traits<Graph>::degree_size_type GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::degree_size_type |
typedef graph_traits<Graph>::edge_descriptor GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::Edge |
typedef graph_traits<Graph>::edge_iterator GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::edge_iterator |
typedef std::pair<edge_iterator, edge_iterator> GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::edge_range_t |
typedef std::pair<Edge, Edge> GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::EdgePair |
typedef adjacency_list< vecS, vecS, directedS, property<vertex_properties_t, VERTEXPROPERTIES>, property<edge_properties_t, EDGEPROPERTIES, property<edge_weight_t, double> > > GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::Graph |
This is the adjacency_list customized and aliased to the name Graph.
typedef graph_traits<Graph>::out_edge_iterator GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::out_edge_iterator |
typedef std::pair<out_edge_iterator, out_edge_iterator> GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::out_edge_range_t |
typedef graph_traits<Graph>::vertex_descriptor GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::Vertex |
typedef graph_traits<Graph>::vertex_iterator GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::vertex_iterator |
typedef std::pair<vertex_iterator, vertex_iterator> GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::vertex_range_t |
GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::GraphWrapper | ( | ) | [inline] |
GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::GraphWrapper | ( | const GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES > & | g | ) | [inline] |
virtual GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::~GraphWrapper | ( | ) | [inline, virtual] |
EdgePair GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::addBidirEdge | ( | const Vertex & | v1, | |
const Vertex & | v2, | |||
const EDGEPROPERTIES & | prop_12, | |||
const EDGEPROPERTIES & | prop_21 | |||
) | [inline] |
00123 { 00124 /* TODO: maybe one wants to check if this edge could be inserted */ 00125 Edge addedEdge1 = add_edge(v1, v2, graph).first; 00126 Edge addedEdge2 = add_edge(v2, v1, graph).first; 00127 00128 properties(addedEdge1) = prop_12; 00129 properties(addedEdge2) = prop_21; 00130 00131 return EdgePair(addedEdge1, addedEdge2); 00132 }
Edge GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::addEdge | ( | const Vertex & | v1, | |
const Vertex & | v2, | |||
const EDGEPROPERTIES & | prop | |||
) | [inline] |
00135 { 00136 /* TODO: maybe one wants to check if this edge could be inserted */ 00137 Edge addedEdge; 00138 bool rc; 00139 tie(addedEdge,rc)= add_edge(v1, v2, graph); 00140 00141 properties(addedEdge) = prop; 00142 00143 return addedEdge; 00144 }
Vertex GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::addVertex | ( | const VERTEXPROPERTIES & | prop | ) | [inline] |
00108 { 00109 Vertex v = add_vertex(graph); 00110 properties(v) = prop; 00111 return v; 00112 }
void GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::clear | ( | ) | [inline] |
00103 { 00104 graph.clear(); 00105 }
adjacency_vertex_range_t GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getAdjacentVertices | ( | const Vertex & | v | ) | const [inline] |
00199 { 00200 return adjacent_vertices(v, graph); 00201 }
std::pair<Edge,bool> GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getEdge | ( | const Vertex & | src, | |
const Vertex & | dst | |||
) | [inline] |
00226 { 00227 return edge(src, dst, graph); 00228 }
edge_range_t GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getEdges | ( | ) | const [inline] |
00194 { 00195 return edges(graph); 00196 }
Graph& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getGraph | ( | ) | [inline] |
00184 { 00185 return graph; 00186 }
Vertex GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getSource | ( | const Edge & | e | ) | [inline] |
00217 { 00218 return source(e, graph); 00219 }
VERTEXPROPERTIES& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getSourceProp | ( | const Edge & | e | ) | [inline] |
00172 { 00173 return properties(source(e, graph)); 00174 }
Vertex GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getTarget | ( | const Edge & | e | ) | [inline] |
00221 { 00222 return target(e, graph); 00223 }
VERTEXPROPERTIES& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getTargetProp | ( | const Edge & | e | ) | [inline] |
00176 { 00177 return properties(target(e, graph)); 00178 }
Vertex GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getVertex | ( | const int & | index | ) | [inline] |
00213 { 00214 return vertex(index,graph); 00215 }
int GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getVertexCount | ( | ) | const [inline] |
00204 { 00205 return num_vertices(graph); 00206 }
int GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getVertexDegree | ( | const Vertex & | v | ) | const [inline] |
00209 { 00210 return out_degree(v, graph); 00211 }
vertex_range_t GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::getVertices | ( | ) | const [inline] |
00189 { 00190 return vertices(graph); 00191 }
GraphWrapper& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::operator= | ( | const GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES > & | rhs | ) | [inline] |
const EDGEPROPERTIES& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::properties | ( | const Edge & | v | ) | const [inline] |
00167 { 00168 typename property_map<Graph, edge_properties_t>::const_type param = get(edge_properties, graph); 00169 return param[v]; 00170 }
EDGEPROPERTIES& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::properties | ( | const Edge & | v | ) | [inline] |
00161 { 00162 typename property_map<Graph, edge_properties_t>::type param = get(edge_properties, graph); 00163 return param[v]; 00164 }
const VERTEXPROPERTIES& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::properties | ( | const Vertex & | v | ) | const [inline] |
00155 { 00156 typename property_map<Graph, vertex_properties_t>::const_type param = get(vertex_properties, graph); 00157 return param[v]; 00158 }
VERTEXPROPERTIES& GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::properties | ( | const Vertex & | v | ) | [inline] |
00149 { 00150 typename property_map<Graph, vertex_properties_t>::type param = get(vertex_properties, graph); 00151 return param[v]; 00152 }
void GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::removeVertex | ( | const Vertex & | v | ) | [inline] |
Graph GraphWrapper< VERTEXPROPERTIES, EDGEPROPERTIES >::graph [protected] |