summaryrefslogtreecommitdiff
path: root/boost/graph/vector_as_graph.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/graph/vector_as_graph.hpp')
-rw-r--r--boost/graph/vector_as_graph.hpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/boost/graph/vector_as_graph.hpp b/boost/graph/vector_as_graph.hpp
index ee0df4bc90..7bc8ac3802 100644
--- a/boost/graph/vector_as_graph.hpp
+++ b/boost/graph/vector_as_graph.hpp
@@ -19,6 +19,7 @@
#include <vector>
#include <cstddef>
#include <boost/iterator.hpp>
+#include <boost/iterator/counting_iterator.hpp>
#include <boost/range/irange.hpp>
#include <boost/graph/graph_traits.hpp>
#include <boost/property_map/property_map.hpp>
@@ -71,13 +72,14 @@ namespace boost {
out_edge_iterator;
typedef void in_edge_iterator;
typedef void edge_iterator;
- typedef typename integer_range<V>::iterator vertex_iterator;
+ typedef counting_iterator<V> vertex_iterator;
typedef directed_tag directed_category;
typedef allow_parallel_edge_tag edge_parallel_category;
typedef vector_as_graph_traversal_tag traversal_category;
typedef typename std::vector<EdgeList>::size_type vertices_size_type;
typedef void edges_size_type;
typedef typename EdgeList::size_type degree_size_type;
+ static V null_vertex() {return V(-1);}
};
template <class EdgeList>
struct edge_property_type< std::vector<EdgeList> >
@@ -178,14 +180,11 @@ namespace boost {
// source() and target() already provided for pairs in graph_traits.hpp
template <class EdgeList, class Alloc>
- std::pair<typename boost::integer_range<typename EdgeList::value_type>
- ::iterator,
- typename boost::integer_range<typename EdgeList::value_type>
- ::iterator >
+ std::pair<boost::counting_iterator<typename EdgeList::value_type>,
+ boost::counting_iterator<typename EdgeList::value_type> >
vertices(const std::vector<EdgeList, Alloc>& v)
{
- typedef typename boost::integer_range<typename EdgeList::value_type>
- ::iterator Iter;
+ typedef boost::counting_iterator<typename EdgeList::value_type> Iter;
return std::make_pair(Iter(0), Iter(v.size()));
}