|
typedef GraphProp | graph_property_type |
|
typedef VertexProp | vertex_property_type |
|
typedef EdgeProp | edge_property_type |
|
typedef lookup_one_property
< GraphProp, graph_bundle_t >
::type | graph_bundled |
|
typedef lookup_one_property
< VertexProp, vertex_bundle_t >
::type | vertex_bundled |
|
typedef lookup_one_property
< EdgeProp, edge_bundle_t >
::type | edge_bundled |
|
typedef property
< vertex_index_t, unsigned,
vertex_property_type > | internal_vertex_property |
|
typedef property< edge_index_t,
unsigned, edge_property_type > | internal_edge_property |
|
typedef adjacency_list< listS,
listS, bidirectionalS,
internal_vertex_property,
internal_edge_property,
GraphProp, listS > | graph_type |
|
typedef graph_type::stored_vertex | stored_vertex |
|
typedef
graph_type::vertices_size_type | vertices_size_type |
|
typedef graph_type::edges_size_type | edges_size_type |
|
typedef
graph_type::degree_size_type | degree_size_type |
|
typedef
graph_type::vertex_descriptor | vertex_descriptor |
|
typedef graph_type::edge_descriptor | edge_descriptor |
|
typedef graph_type::vertex_iterator | vertex_iterator |
|
typedef graph_type::edge_iterator | edge_iterator |
|
typedef
graph_type::out_edge_iterator | out_edge_iterator |
|
typedef
graph_type::in_edge_iterator | in_edge_iterator |
|
typedef
graph_type::adjacency_iterator | adjacency_iterator |
|
typedef directed_graph_tag | graph_tag |
|
typedef
graph_type::directed_category | directed_category |
|
typedef
graph_type::edge_parallel_category | edge_parallel_category |
|
typedef
graph_type::traversal_category | traversal_category |
|
typedef std::size_t | vertex_index_type |
|
typedef std::size_t | edge_index_type |
|
|
| directed_graph (GraphProp const &p=GraphProp()) |
|
| directed_graph (directed_graph const &x) |
|
| directed_graph (vertices_size_type n, GraphProp const &p=GraphProp()) |
|
template<typename EdgeIterator > |
| directed_graph (EdgeIterator f, EdgeIterator l, vertices_size_type n, edges_size_type m=0, GraphProp const &p=GraphProp()) |
|
directed_graph & | operator= (directed_graph const &g) |
|
graph_type & | impl () |
|
graph_type const & | impl () const |
|
vertices_size_type | num_vertices () const |
|
vertex_descriptor | add_vertex () |
|
vertex_descriptor | add_vertex (vertex_property_type const &p) |
|
void | clear_vertex (vertex_descriptor v) |
|
void | remove_vertex (vertex_descriptor v) |
|
edges_size_type | num_edges () const |
|
std::pair< edge_descriptor, bool > | add_edge (vertex_descriptor u, vertex_descriptor v) |
|
std::pair< edge_descriptor, bool > | add_edge (vertex_descriptor u, vertex_descriptor v, edge_property_type const &p) |
|
void | remove_edge (vertex_descriptor u, vertex_descriptor v) |
|
void | remove_edge (edge_iterator i) |
|
void | remove_edge (edge_descriptor e) |
|
vertex_index_type | max_vertex_index () const |
|
void | renumber_vertex_indices () |
|
void | remove_vertex_and_renumber_indices (vertex_iterator i) |
|
edge_index_type | max_edge_index () const |
|
void | renumber_edge_indices () |
|
void | remove_edge_and_renumber_indices (edge_iterator i) |
|
void | renumber_indices () |
|
vertex_bundled & | operator[] (vertex_descriptor v) |
|
vertex_bundled const & | operator[] (vertex_descriptor v) const |
|
edge_bundled & | operator[] (edge_descriptor e) |
|
edge_bundled const & | operator[] (edge_descriptor e) const |
|
graph_bundled & | operator[] (graph_bundle_t) |
|
graph_bundled const & | operator[] (graph_bundle_t) const |
|
void | clear () |
|
void | swap (directed_graph &g) |
|
template<typename VertexProp = no_property, typename EdgeProp = no_property, typename GraphProp = no_property>
class boost::directed_graph< VertexProp, EdgeProp, GraphProp >
The directed_graph class template is a simplified version of the BGL adjacency list.
This class is provided for ease of use, but may not perform as well as custom-defined adjacency list classes. Instances of this template model the BidirectionalGraph, VertexIndexGraph, and EdgeIndexGraph concepts. The graph is also fully mutable, supporting both insertions and removals of vertices and edges.
- Note
- Special care must be taken when removing vertices or edges since those operations can invalidate the numbering of vertices.