1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef BOOST_GRAPH_PROFILE_HPP
- #define BOOST_GRAPH_PROFILE_HPP
- #include <boost/graph/graph_traits.hpp>
- #include <boost/detail/numeric_traits.hpp>
- #include <boost/graph/bandwidth.hpp>
- namespace boost
- {
- template < typename Graph, typename VertexIndexMap >
- typename graph_traits< Graph >::vertices_size_type profile(
- const Graph& g, VertexIndexMap index)
- {
- typename graph_traits< Graph >::vertices_size_type b = 0;
- typename graph_traits< Graph >::vertex_iterator i, end;
- for (boost::tie(i, end) = vertices(g); i != end; ++i)
- {
- b += ith_bandwidth(*i, g, index) + 1;
- }
- return b;
- }
- template < typename Graph >
- typename graph_traits< Graph >::vertices_size_type profile(const Graph& g)
- {
- return profile(g, get(vertex_index, g));
- }
- }
- #endif
|