Mercurial > hg > vamp-build-and-test
annotate DEPENDENCIES/generic/include/boost/graph/profile.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children |
rev | line source |
---|---|
Chris@16 | 1 // |
Chris@16 | 2 //======================================================================= |
Chris@16 | 3 // Copyright 2002 Marc Wintermantel (wintermantel@even-ag.ch) |
Chris@16 | 4 // ETH Zurich, Center of Structure Technologies (www.imes.ethz.ch/st) |
Chris@16 | 5 // |
Chris@16 | 6 // Distributed under the Boost Software License, Version 1.0. (See |
Chris@16 | 7 // accompanying file LICENSE_1_0.txt or copy at |
Chris@16 | 8 // http://www.boost.org/LICENSE_1_0.txt) |
Chris@16 | 9 //======================================================================= |
Chris@16 | 10 |
Chris@16 | 11 #ifndef BOOST_GRAPH_PROFILE_HPP |
Chris@16 | 12 #define BOOST_GRAPH_PROFILE_HPP |
Chris@16 | 13 |
Chris@16 | 14 #include <boost/graph/graph_traits.hpp> |
Chris@16 | 15 #include <boost/detail/numeric_traits.hpp> |
Chris@16 | 16 #include <boost/graph/bandwidth.hpp> |
Chris@16 | 17 |
Chris@16 | 18 namespace boost { |
Chris@16 | 19 |
Chris@16 | 20 template <typename Graph, typename VertexIndexMap> |
Chris@16 | 21 typename graph_traits<Graph>::vertices_size_type |
Chris@16 | 22 profile(const Graph& g, VertexIndexMap index) |
Chris@16 | 23 { |
Chris@16 | 24 typename graph_traits<Graph>::vertices_size_type b = 0; |
Chris@16 | 25 typename graph_traits<Graph>::vertex_iterator i, end; |
Chris@16 | 26 for (boost::tie(i, end) = vertices(g); i != end; ++i){ |
Chris@16 | 27 b += ith_bandwidth(*i, g, index) + 1; |
Chris@16 | 28 } |
Chris@16 | 29 |
Chris@16 | 30 return b; |
Chris@16 | 31 } |
Chris@16 | 32 |
Chris@16 | 33 template <typename Graph> |
Chris@16 | 34 typename graph_traits<Graph>::vertices_size_type |
Chris@16 | 35 profile(const Graph& g) |
Chris@16 | 36 { |
Chris@16 | 37 return profile(g, get(vertex_index, g)); |
Chris@16 | 38 } |
Chris@16 | 39 |
Chris@16 | 40 |
Chris@16 | 41 } // namespace boost |
Chris@16 | 42 |
Chris@16 | 43 #endif // BOOST_GRAPH_PROFILE_HPP |