...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::graph_traits<G>::traversal_category This tag type must be convertible to vertex_list_graph_tag. |
boost::graph_traits<G>::vertex_iterator A vertex iterator (obtained via vertices(g)) provides access to all of the vertices in a graph. A vertex iterator type must meet the requirements of MultiPassInputIterator. The value type of the vertex iterator must be the vertex descriptor of the graph. |
boost::graph_traits<G>::vertices_size_type The unsigned integer type used to represent the number of vertices in the graph. |
Name | Expression | Return Type | Description |
---|---|---|---|
Vertex Set of the Graph | vertices(g) | std::pair<vertex_iterator, vertex_iterator> | Returns an iterator-range providing access to all the vertices in the graphg. |
Number of Vertices in the Graph | num_vertices(g) | vertices_size_type | Returns the number of vertices in the graph g. |
The vertices() function must return in constant time.
template <class G> struct VertexListGraphConcept { typedef typename boost::graph_traits<G>::vertex_iterator vertex_iterator; void constraints() { BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<G> )); BOOST_CONCEPT_ASSERT(( AdjacencyGraphConcept<G> )); BOOST_CONCEPT_ASSERT(( MultiPassInputIteratorConcept<vertex_iterator> )); p = vertices(g); V = num_vertices(g); v = *p.first; const_constraints(g); } void const_constraints(const G& g) { p = vertices(g); V = num_vertices(g); v = *p.first; } std::pair<vertex_iterator, vertex_iterator> p; typename boost::graph_traits<G>::vertex_descriptor v; typename boost::graph_traits<G>::vertices_size_type V; G g; };
Copyright © 2000-2001 | Jeremy Siek, Indiana University (jsiek@osl.iu.edu) |