File indexing completed on 2025-01-18 09:33:39
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP
0009 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP
0010
0011 #include <boost/fusion/support/config.hpp>
0012 #include <boost/fusion/sequence/intrinsic/value_at.hpp>
0013 #include <boost/type_traits/is_const.hpp>
0014
0015 namespace boost { namespace fusion { namespace extension
0016 {
0017 template <typename>
0018 struct value_of_impl;
0019
0020 template <>
0021 struct value_of_impl<map_iterator_tag>
0022 {
0023 template <typename It>
0024 struct apply
0025 {
0026 typedef typename
0027 result_of::value_at<
0028 typename mpl::if_<
0029 is_const<typename It::seq_type>
0030 , typename It::seq_type::storage_type const
0031 , typename It::seq_type::storage_type
0032 >::type
0033 , typename It::index
0034 >::type
0035 type;
0036 };
0037 };
0038 }}}
0039
0040 #endif