Core graph implementation based on BGL. More...
Public Member Functions | |
bgl_graph (size_t _nv=0) | |
Constructs a graph with a specific number of vertices. More... | |
vertex_iterator | begin () |
Returns an iterator referring to the first vertex of the graph. | |
const_vertex_iterator | begin () const |
Returns an iterator referring to the first vertex of the graph. More... | |
vertex_iterator | end () |
Returns an iterator referring to the past-the-end vertex of the graph. | |
const_vertex_iterator | end () const |
Returns an iterator referring to the past-the-end vertex of the graph. More... | |
edge_iterator | edges_begin () |
Returns an iterator referring to the first edge of the graph. | |
const_edge_iterator | edges_begin () const |
Returns an iterator referring to the first edge of the graph. More... | |
edge_iterator | edges_end () |
Returns an iterator referring to the past-the-end edge of the graph. | |
const_edge_iterator | edges_end () const |
Returns an iterator referring to the past-the-end edge of the graph. More... | |
size_t | get_num_vertices () const |
Returns the number of vertices of the graph. | |
void | update_descriptor (size_t &, const vertex_iterator) |
Update a descriptor. More... | |
size_t | get_max_descriptor () const |
Returns the id of the last descriptor. | |
size_t | get_num_edges () const |
Returns the number of edges of the graph. | |
vertex_descriptor | add_vertex (void) |
Adds a new vertex to the graph. More... | |
vertex_descriptor | add_vertex (vertex_property &_vp) |
Adds a new vertex with properties to the graph. More... | |
edge_descriptor | add_edge (const edge_descriptor &_ed) |
Adds a new edge to the graph. More... | |
edge_descriptor | add_edge (const edge_descriptor &_ed, const edge_property &_p) |
Adds a new edge with a specific descriptor and property to the graph. More... | |
void | clear (void) |
Clears the entire graph. | |
bool | delete_vertex (const vertex_descriptor &_vd) |
Deletes a vertex with a specific descriptor from the graph. More... | |
bool | delete_edge (const edge_descriptor &_ed) |
Deletes a edge with a specific descriptor from the graph. More... | |
bool | find_edge (const edge_descriptor &_ed, vertex_iterator &_vi, adj_edge_iterator &_ei) |
Finds a edge with a specific descriptor from the graph. More... | |
bool | find_edge (const edge_descriptor &_ed, const_vertex_iterator &_vi, const_adj_edge_iterator &_ei) const |
Finds a edge with a specific descriptor from the graph. More... | |
const_vertex_iterator | find_vertex (const vertex_descriptor &_vd) const |
Finds a vertex with a given vertex descriptor. More... | |
vertex_iterator | find_vertex (const vertex_descriptor &_vd) |
Finds a vertex with a given vertex descriptor. More... | |
Public Types | |
typedef boost::graph_traits< graph_t >::vertex_descriptor | vertex_descriptor |
typedef bgl_edge_descriptor_adaptor< graph_t > | edge_descriptor |
typedef boost::property_map< graph_t, boost::vertex_user_property_t >::type::value_type | vertex_property |
typedef boost::property_map< graph_t, boost::edge_weight_t >::type::value_type | edge_property |
typedef vertex_descriptor_generator< size_t > | vdg_type |
typedef bgl_vertex_iterator_adaptor< bgl_vertex_iterator, graph_t > | vertex_iterator |
typedef const_bgl_vertex_iterator_adaptor< bgl_vertex_iterator, graph_t > | const_vertex_iterator |
typedef bgl_edge_iterator_adaptor< bgl_edge_iterator, graph_t > | edge_iterator |
typedef const_bgl_edge_iterator_adaptor< bgl_edge_iterator, graph_t > | const_edge_iterator |
typedef bgl_edge_iterator_adaptor< bgl_out_edge_iterator, graph_t > | adj_edge_iterator |
typedef const_bgl_edge_iterator_adaptor< bgl_out_edge_iterator, graph_t > | const_adj_edge_iterator |
Protected Attributes | |
graph_t | m_bgl_graph |
vdg_type | m_vdg |
size_t | m_edge_id |
Core graph implementation based on BGL.
BGL_Graph | Type of the boost graph. |
stapl::sequential::bgl_graph< BGL_Graph >::bgl_graph | ( | size_t | _nv = 0 | ) |
Constructs a graph with a specific number of vertices.
_nv | The number of vertices to be created. By default a new graph with 0 vertices will be created. |
const_vertex_iterator stapl::sequential::bgl_graph< BGL_Graph >::begin | ( | void | ) | const |
Returns an iterator referring to the first vertex of the graph.
const_vertex_iterator stapl::sequential::bgl_graph< BGL_Graph >::end | ( | void | ) | const |
Returns an iterator referring to the past-the-end vertex of the graph.
const_edge_iterator stapl::sequential::bgl_graph< BGL_Graph >::edges_begin | ( | void | ) | const |
Returns an iterator referring to the first edge of the graph.
const_edge_iterator stapl::sequential::bgl_graph< BGL_Graph >::edges_end | ( | void | ) | const |
Returns an iterator referring to the past-the-end edge of the graph.
void stapl::sequential::bgl_graph< BGL_Graph >::update_descriptor | ( | size_t & | , |
const vertex_iterator | |||
) |
Update a descriptor.
vertex_descriptor stapl::sequential::bgl_graph< BGL_Graph >::add_vertex | ( | void | ) |
Adds a new vertex to the graph.
vertex_descriptor stapl::sequential::bgl_graph< BGL_Graph >::add_vertex | ( | vertex_property & | _vp | ) |
Adds a new vertex with properties to the graph.
_vp | The vertex property of the newly created vertex. |
edge_descriptor stapl::sequential::bgl_graph< BGL_Graph >::add_edge | ( | const edge_descriptor & | _ed | ) |
Adds a new edge to the graph.
edge_descriptor stapl::sequential::bgl_graph< BGL_Graph >::add_edge | ( | const edge_descriptor & | _ed, |
const edge_property & | _p | ||
) |
Adds a new edge with a specific descriptor and property to the graph.
_ed | The descriptor of the new edge |
_p | The property of the edge. |
bool stapl::sequential::bgl_graph< BGL_Graph >::delete_vertex | ( | const vertex_descriptor & | _vd | ) |
Deletes a vertex with a specific descriptor from the graph.
_vd | The descriptor of the vertex to be deleted. |
bool stapl::sequential::bgl_graph< BGL_Graph >::delete_edge | ( | const edge_descriptor & | _ed | ) |
Deletes a edge with a specific descriptor from the graph.
_ed | The descriptor of the edge to be deleted. |
bool stapl::sequential::bgl_graph< BGL_Graph >::find_edge | ( | const edge_descriptor & | _ed, |
vertex_iterator & | _vi, | ||
adj_edge_iterator & | _ei | ||
) |
Finds a edge with a specific descriptor from the graph.
_ed | The descriptor of the searched edge. |
_vi | If the edge is found, _vi will refer to the source vertex of that edge. Otherwise it will point to the graph past-to-end vertex. |
_ei | If the edge is found, This iterator will point to the edge. |
bool stapl::sequential::bgl_graph< BGL_Graph >::find_edge | ( | const edge_descriptor & | _ed, |
const_vertex_iterator & | _vi, | ||
const_adj_edge_iterator & | _ei | ||
) | const |
Finds a edge with a specific descriptor from the graph.
_ed | The descriptor of the searched edge. |
_vi | If the edge is found, _vi will refer to the source vertex of that edge. Otherwise it will point to the graph past-to-end vertex. |
_ei | If the edge is found, This iterator will point to the edge. |
const_vertex_iterator stapl::sequential::bgl_graph< BGL_Graph >::find_vertex | ( | const vertex_descriptor & | _vd | ) | const |
Finds a vertex with a given vertex descriptor.
_vd | The vertex descriptor |
vertex_iterator stapl::sequential::bgl_graph< BGL_Graph >::find_vertex | ( | const vertex_descriptor & | _vd | ) |
Finds a vertex with a given vertex descriptor.
_vd | The vertex descriptor |