Merge pull request #164 from Kojoley/fix-map-vs2017-15.5

map: Switch to SFINAE in template parameters
This commit is contained in:
Joel de Guzman
2017-12-14 06:45:27 +08:00
committed by GitHub

View File

@ -67,24 +67,21 @@ namespace boost { namespace fusion
: base_type(std::forward<map>(seq)) : 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 BOOST_FUSION_GPU_ENABLED
map(Sequence const& seq map(Sequence const& seq)
, typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
: base_type(begin(seq), detail::map_impl_from_iterator()) : 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 BOOST_FUSION_GPU_ENABLED
map(Sequence& seq map(Sequence& seq)
, typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
: base_type(begin(seq), detail::map_impl_from_iterator()) : 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 BOOST_FUSION_GPU_ENABLED
map(Sequence&& seq map(Sequence&& seq)
, typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
: base_type(begin(seq), detail::map_impl_from_iterator()) : base_type(begin(seq), detail::map_impl_from_iterator())
{} {}