The labeled_graph class is a graph adaptor that maintains a mapping between vertex labels and vertex descriptors. More...
#include <labeled_graph.hpp>
Public Member Functions | |
labeled_graph (graph_property_type const &gp=graph_property_type()) | |
labeled_graph (labeled_graph const &x) | |
labeled_graph (vertices_size_type n, graph_property_type const &gp=graph_property_type()) | |
template<typename LabelIter > | |
labeled_graph (vertices_size_type n, LabelIter l, graph_property_type const &gp=graph_property_type()) | |
template<typename LabelIter , typename PropIter > | |
labeled_graph (vertices_size_type n, LabelIter l, PropIter p, graph_property_type const &gp=graph_property_type()) | |
labeled_graph & | operator= (labeled_graph const &x) |
bool | label_vertex (vertex_descriptor v, Label const &l) |
Create a new label for the given vertex, returning false, if the label cannot be created. More... | |
void | remove_vertex (Label const &l) |
Remove the vertex with the given label. More... | |
vertex_descriptor | vertex (Label const &l) const |
Return a descriptor for the given label. More... | |
Graph Accessors | |
graph_type & | graph () |
graph_type const & | graph () const |
Add Vertex | |
Add a vertex to the graph, returning the descriptor. If the vertices are uniquely labeled and the label already exists within the graph, then no vertex is added, and the returned descriptor refers to the existing vertex. A vertex property can be given as a parameter, if needed. | |
vertex_descriptor | add_vertex (Label const &l) |
vertex_descriptor | add_vertex (Label const &l, vertex_property_type const &p) |
Insert Vertex | |
Insert a vertex into the graph, returning a pair containing the descriptor of a vertex and a boolean value that describes whether or not a new vertex was inserted. If vertices are not uniquely labeled, then insertion will always succeed. | |
std::pair< vertex_descriptor, bool > | insert_vertex (Label const &l) |
std::pair< vertex_descriptor, bool > | insert_vertex (Label const &l, vertex_property_type const &p) |
Bundled Properties | |
vertex_bundled & | operator[] (Label const &l) |
vertex_bundled const & | operator[] (Label const &l) const |
edge_bundled & | operator[] (edge_descriptor e) |
edge_bundled const & | operator[] (edge_descriptor e) const |
Static Public Member Functions | |
static vertex_descriptor | null_vertex () |
Return a null descriptor. More... | |
The labeled_graph class is a graph adaptor that maintains a mapping between vertex labels and vertex descriptors.
typedef graph_traits<graph_type>::adjacency_iterator boost::labeled_graph< Graph, Label, Selector >::adjacency_iterator |
typedef graph_traits<graph_type>::degree_size_type boost::labeled_graph< Graph, Label, Selector >::degree_size_type |
typedef graph_traits<graph_type>::directed_category boost::labeled_graph< Graph, Label, Selector >::directed_category |
typedef graph_type::edge_bundled boost::labeled_graph< Graph, Label, Selector >::edge_bundled |
typedef graph_traits<graph_type>::edge_descriptor boost::labeled_graph< Graph, Label, Selector >::edge_descriptor |
typedef graph_traits<graph_type>::edge_iterator boost::labeled_graph< Graph, Label, Selector >::edge_iterator |
typedef graph_traits<graph_type>::edge_parallel_category boost::labeled_graph< Graph, Label, Selector >::edge_parallel_category |
typedef graph_type::edge_property_type boost::labeled_graph< Graph, Label, Selector >::edge_property_type |
typedef graph_traits<graph_type>::edges_size_type boost::labeled_graph< Graph, Label, Selector >::edges_size_type |
typedef graph_type::graph_bundled boost::labeled_graph< Graph, Label, Selector >::graph_bundled |
typedef graph_type::graph_property_type boost::labeled_graph< Graph, Label, Selector >::graph_property_type |
typedef labeled_graph_class_tag boost::labeled_graph< Graph, Label, Selector >::graph_tag |
typedef Base::graph_type boost::labeled_graph< Graph, Label, Selector >::graph_type |
typedef graph_traits<graph_type>::in_edge_iterator boost::labeled_graph< Graph, Label, Selector >::in_edge_iterator |
typedef Base::label_type boost::labeled_graph< Graph, Label, Selector >::label_type |
typedef Base::map_type boost::labeled_graph< Graph, Label, Selector >::map_type |
typedef graph_traits<graph_type>::out_edge_iterator boost::labeled_graph< Graph, Label, Selector >::out_edge_iterator |
typedef graph_traits<graph_type>::traversal_category boost::labeled_graph< Graph, Label, Selector >::traversal_category |
typedef graph_type::vertex_bundled boost::labeled_graph< Graph, Label, Selector >::vertex_bundled |
typedef graph_traits<graph_type>::vertex_descriptor boost::labeled_graph< Graph, Label, Selector >::vertex_descriptor |
typedef graph_traits<graph_type>::vertex_iterator boost::labeled_graph< Graph, Label, Selector >::vertex_iterator |
typedef graph_type::vertex_property_type boost::labeled_graph< Graph, Label, Selector >::vertex_property_type |
typedef graph_traits<graph_type>::vertices_size_type boost::labeled_graph< Graph, Label, Selector >::vertices_size_type |
|
inline |
|
inline |
|
inline |
References boost::vertices().
|
inline |
|
inline |
|
inline |
References boost::graph_detail::insert_labeled_vertex().
Referenced by boost::labeled_graph< Graph, Label, Selector >::labeled_graph().
|
inline |
References boost::graph_detail::insert_labeled_vertex().
|
inline |
|
inline |
|
inline |
References boost::graph_detail::insert_labeled_vertex().
|
inline |
References boost::graph_detail::insert_labeled_vertex().
|
inline |
Create a new label for the given vertex, returning false, if the label cannot be created.
References boost::graph_detail::put_vertex_label().
|
inlinestatic |
Return a null descriptor.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Remove the vertex with the given label.
References boost::remove_vertex(), and boost::labeled_graph< Graph, Label, Selector >::vertex().
|
inline |
Return a descriptor for the given label.
References boost::graph_detail::find_labeled_vertex().
Referenced by boost::labeled_graph< Graph, Label, Selector >::operator[](), and boost::labeled_graph< Graph, Label, Selector >::remove_vertex().