From 62c6d9ef2f05a5ba10f51c2ce2d35bf030dff837 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Sat, 22 Apr 2006 13:35:32 +0000 Subject: [PATCH] added edges_size_type and vertices_size_type to the adjacency_list_traits [SVN r33766] --- include/boost/graph/adjacency_list.hpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/include/boost/graph/adjacency_list.hpp b/include/boost/graph/adjacency_list.hpp index 197ef54f..9719ead1 100644 --- a/include/boost/graph/adjacency_list.hpp +++ b/include/boost/graph/adjacency_list.hpp @@ -259,7 +259,8 @@ namespace boost { template + class DirectedS = directedS, + class EdgeListS = listS> struct adjacency_list_traits { typedef typename detail::is_random_access::type @@ -282,6 +283,22 @@ namespace boost { std::size_t, vertex_ptr>::type vertex_descriptor; typedef detail::edge_desc_impl edge_descriptor; + + typedef std::size_t vertices_size_type; + + private: + // Logic to figure out the edges_size_type + struct dummy {}; + typedef typename container_gen::type EdgeContainer; + typedef typename DirectedS::is_bidir_t BidirectionalT; + typedef typename DirectedS::is_directed_t DirectedT; + typedef typename ct_and::type >::type on_edge_storage; + public: + typedef typename boost::ct_if_t::type edges_size_type; + }; } // namespace boost