diff --git a/include/boost/graph/named_function_params.hpp b/include/boost/graph/named_function_params.hpp index 5d6e6d58..2a9a651f 100644 --- a/include/boost/graph/named_function_params.hpp +++ b/include/boost/graph/named_function_params.hpp @@ -39,6 +39,7 @@ namespace boost { struct vertex_copy_t { enum { num = detail::vertex_copy_num }; }; struct vertex_isomorphism_t { enum { num =detail::vertex_isomorphism_num}; }; struct vertex_invariant_t { enum { num =detail::vertex_invariant_num}; }; + struct vertex_root_t { enum { num =detail::vertex_root_num}; }; struct orig_to_copy_t { enum { num = detail::orig_to_copy_num }; }; namespace detail { @@ -97,6 +98,14 @@ namespace boost { return Params(pmap, *this); } + template + bgl_named_params + root_map(const RootMap& pmap) const { + typedef bgl_named_params + Params; + return Params(pmap, *this); + } + template bgl_named_params color_map(const ColorMap& pmap) const { @@ -104,6 +113,39 @@ namespace boost { return Params(pmap, *this); } + template + bgl_named_params + capacity_map(CapacityMap pmap) { + typedef bgl_named_params Params; + return Params(pmap, *this); + } + + template + bgl_named_params + residual_capacity_map(Residual_CapacityMap pmap) { + typedef bgl_named_params + Params; + return Params(pmap, *this); + } + + template + bgl_named_params + reverse_edge_map(ReverseMap pmap) { + typedef bgl_named_params + Params; + return Params(pmap, *this); + } + + template + bgl_named_params + discover_time_map(const DiscoverTimeMap& pmap) const { + typedef bgl_named_params + Params; + return Params(pmap, *this); + } + template bgl_named_params vertex_index_map(const IndexMap& pmap) const { @@ -240,6 +282,13 @@ namespace boost { return Params(pmap); } + template + bgl_named_params + root_map(RootMap pmap) { + typedef bgl_named_params Params; + return Params(pmap); + } + template bgl_named_params color_map(ColorMap pmap) { @@ -247,6 +296,36 @@ namespace boost { return Params(pmap); } + template + bgl_named_params + capacity_map(CapacityMap pmap) { + typedef bgl_named_params Params; + return Params(pmap); + } + + template + bgl_named_params + residual_capacity_map(Residual_CapacityMap pmap) { + typedef bgl_named_params + Params; + return Params(pmap); + } + + template + bgl_named_params + reverse_edge_map(ReverseMap pmap) { + typedef bgl_named_params + Params; + return Params(pmap); + } + + template + bgl_named_params + discover_time_map(DiscoverTimeMap pmap) { + typedef bgl_named_params Params; + return Params(pmap); + } + template bgl_named_params vertex_index_map(IndexMap pmap) { @@ -383,6 +462,7 @@ namespace boost { struct bind { typedef const P& const_result_type; typedef const P& result_type; + typedef P type; static const_result_type const_apply(const P& p, const Graph&, Tag&) { return p; } static result_type apply(const P& p, Graph&, Tag&) @@ -424,6 +504,7 @@ namespace boost { typedef typename Selector:: template bind type; typedef typename type::result_type result_type; typedef typename type::const_result_type const_result_type; + typedef typename type::type result; };