PrevUpHomeNext

Concepts

IncidenceGraph
BidirectionalGraph
AdjacencyGraph
VertexListGraph
EdgeListGraph

The MPL.Graph concepts are based on the BGL graph concepts, with a few major differences:

  1. They operate on types, not objects.
  2. There is no notion of a "type" of metadata - everything is duck-typed - so no need for vertex_descriptor etc.
  3. Metafunctions return type sequences instead of pairs of iterators.

Currently only the non-mutable concepts are supported.

expression

returns

source<Edge,Graph>::type

The source vertex of this edge

target<Edge,Graph>::type

The target vertex of this edge

out_edges<Vertex,Graph>::type

Sequence of edges leaving this vertex

out_degree<Vertex,Graph>::type

The number of out-edges

Extends IncidenceGraph

expression

returns

in_edges<Vertex,Graph>::type

Sequence of edges arriving at this vertex

in_degree<Vertex,Graph>::type

Number of edges arriving at this vertex

degree<Vertex,Graph>::type

Total number of in- and out-edges

expression

returns

adjacent_vertices<Vertex,Graph>::type

Sequence of vertices reached by out-edges from this vertex

expression

returns

vertices<Graph>::type

Sequence of all vertices in the graph

num_vertices<Graph>::type

Number of vertices in the graph

expression

returns

edges<Graph>::type

Sequence of all edges in the graph

num_edges<Graph>::type

Number of edges in the graph


PrevUpHomeNext