diff options
Diffstat (limited to 'boost/fusion/container/map')
-rw-r--r-- | boost/fusion/container/map/detail/cpp03/as_map.hpp | 8 | ||||
-rw-r--r-- | boost/fusion/container/map/map.hpp | 15 |
2 files changed, 13 insertions, 10 deletions
diff --git a/boost/fusion/container/map/detail/cpp03/as_map.hpp b/boost/fusion/container/map/detail/cpp03/as_map.hpp index efa836ba08..442c350cce 100644 --- a/boost/fusion/container/map/detail/cpp03/as_map.hpp +++ b/boost/fusion/container/map/detail/cpp03/as_map.hpp @@ -25,7 +25,13 @@ namespace boost { namespace fusion { namespace detail BOOST_FUSION_BARRIER_BEGIN template <int size, bool is_assoc> - struct as_map; + struct as_map + { + BOOST_STATIC_ASSERT_MSG( + size <= FUSION_MAX_MAP_SIZE + , "FUSION_MAX_MAP_SIZE limit is too low" + ); + }; template <bool is_assoc> struct as_map<0, is_assoc> diff --git a/boost/fusion/container/map/map.hpp b/boost/fusion/container/map/map.hpp index ec9e58d32d..6704dbe409 100644 --- a/boost/fusion/container/map/map.hpp +++ b/boost/fusion/container/map/map.hpp @@ -67,24 +67,21 @@ namespace boost { namespace fusion : base_type(std::forward<map>(seq)) {} - template <typename Sequence> + template <typename Sequence, typename = typename enable_if<traits::is_sequence<Sequence>>::type> BOOST_FUSION_GPU_ENABLED - map(Sequence const& seq - , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler) + map(Sequence const& seq) : base_type(begin(seq), detail::map_impl_from_iterator()) {} - template <typename Sequence> + template <typename Sequence, typename = typename enable_if<traits::is_sequence<Sequence>>::type> BOOST_FUSION_GPU_ENABLED - map(Sequence& seq - , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler) + map(Sequence& seq) : base_type(begin(seq), detail::map_impl_from_iterator()) {} - template <typename Sequence> + template <typename Sequence, typename = typename enable_if<traits::is_sequence<Sequence>>::type> BOOST_FUSION_GPU_ENABLED - map(Sequence&& seq - , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler) + map(Sequence&& seq) : base_type(begin(seq), detail::map_impl_from_iterator()) {} |