summaryrefslogtreecommitdiff
path: root/boost/fusion/container/map
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/map')
-rw-r--r--boost/fusion/container/map/detail/cpp03/as_map.hpp8
-rw-r--r--boost/fusion/container/map/map.hpp15
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())
{}