A graph mixin that can provide a mapping from names to vertices, and use that mapping to simplify creation and manipulation of graphs. More...
#include <named_graph.hpp>
Public Types | |
typedef internal_vertex_name < VertexProperty >::type | extract_name_type |
The type of the function object that extracts names from vertex properties. More... | |
typedef lookup_one_property < VertexProperty, vertex_bundle_t >::type | bundled_vertex_property_type |
The type of the "bundled" property, from which the name can be extracted. More... | |
typedef internal_vertex_constructor < VertexProperty >::type | vertex_constructor_type |
The type of the function object that generates vertex properties from names, for the implicit addition of vertices. More... | |
typedef remove_cv< typename remove_reference< typename extract_name_type::result_type > ::type >::type | vertex_name_type |
The type used to name vertices in the graph. More... | |
typedef Vertex | vertex_descriptor |
The type of vertex descriptors in the graph. More... | |
typedef multi_index::multi_index_container < Vertex, multi_index::indexed_by < multi_index::hashed_unique < multi_index::tag < vertex_name_t > , extract_name_from_vertex > > > | named_vertices_type |
The type that maps names to vertices. More... | |
typedef named_vertices_type::template index< vertex_name_t >::type | vertices_by_name_type |
The set of vertices, indexed by name. More... | |
Public Member Functions | |
void | added_vertex (Vertex vertex) |
Notify the named_graph that we have added the given vertex. More... | |
template<typename VertexIterStability > | |
void | removing_vertex (Vertex vertex, VertexIterStability) |
Notify the named_graph that we are removing the given vertex. More... | |
void | clearing_graph () |
Notify the named_graph that we are clearing the graph. More... | |
Graph & | derived () |
Retrieve the derived instance. More... | |
const Graph & | derived () const |
extract_name_type::result_type | extract_name (const bundled_vertex_property_type &property) |
Extract the name from a vertex property instance. More... | |
optional< vertex_descriptor > | vertex_by_property (const bundled_vertex_property_type &property) |
Search for a vertex that has the given property (based on its name) More... | |
Public Attributes | |
named_vertices_type | named_vertices |
Mapping from names to vertices. More... | |
vertex_constructor_type | vertex_constructor |
Constructs a vertex from the name of that vertex. More... | |
A graph mixin that can provide a mapping from names to vertices, and use that mapping to simplify creation and manipulation of graphs.
|
inherited |
The type of the "bundled" property, from which the name can be extracted.
|
inherited |
The type of the function object that extracts names from vertex properties.
|
inherited |
The type that maps names to vertices.
|
inherited |
The type of the function object that generates vertex properties from names, for the implicit addition of vertices.
|
inherited |
The type of vertex descriptors in the graph.
|
inherited |
The type used to name vertices in the graph.
|
inherited |
The set of vertices, indexed by name.
|
inlineinherited |
Notify the named_graph that we have added the given vertex.
The name of the vertex will be added to the mapping.
|
inlineinherited |
Notify the named_graph that we are clearing the graph.
This will clear out all of the name->vertex mappings
|
inlineinherited |
Retrieve the derived instance.
|
inlineinherited |
|
inherited |
Extract the name from a vertex property instance.
|
inlineinherited |
Notify the named_graph that we are removing the given vertex.
The name of the vertex will be removed from the mapping.
References BOOST_STATIC_ASSERT_MSG, boost::program_options::value(), and boost::vertex_name.
|
inherited |
Search for a vertex that has the given property (based on its name)
References boost::graph::find_vertex().
|
inherited |
Mapping from names to vertices.
|
inherited |
Constructs a vertex from the name of that vertex.