10 #ifndef PR_BGL_PROPERTY_MAP_COMPOSE_PROPERTY_MAP_HPP
11 #define PR_BGL_PROPERTY_MAP_COMPOSE_PROPERTY_MAP_HPP
13 #include <boost/property_map/property_map.hpp>
14 #include <boost/type_traits.hpp>
23 template <
typename FPMap,
typename GPMap>
27 typedef typename boost::property_traits<FPMap>::category category;
28 typedef typename boost::property_traits<GPMap>::key_type key_type;
29 typedef typename boost::property_traits<FPMap>::value_type value_type;
30 typedef typename boost::property_traits<FPMap>::reference reference;
39 operator[](
const key_type &v)
const {
50 inline friend typename boost::mpl::if_<
51 boost::mpl::not_< boost::is_reference<reference> >,
53 typename boost::mpl::if_<
54 boost::is_const<reference>,
60 return get(m.f,
get(m.g, k));
65 put(m.f,
get(m.g, k), v);
73 template <
class FPMap,
class GPMap>
75 make_compose_property_map(
const FPMap &f,
const GPMap &g) {
81 #endif // PR_BGL_PROPERTY_MAP_COMPOSE_PROPERTY_MAP_HPP
Definition: compose_property_map.hpp:24