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