Introduce detail::enabler instead of fusion::void_.

This commit is contained in:
Kohei Takahashi
2015-12-10 17:06:04 +09:00
parent 2492ff9b25
commit 64b8406c16
30 changed files with 98 additions and 67 deletions

View File

@ -22,6 +22,7 @@
///////////////////////////////////////////////////////////////////////////////
#include <boost/fusion/support/sequence_base.hpp>
#include <boost/fusion/support/void.hpp>
#include <boost/fusion/support/detail/enabler.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/fusion/support/is_sequence.hpp>
#include <boost/fusion/container/deque/detail/keyed_element.hpp>
@ -60,7 +61,7 @@ namespace boost { namespace fusion
typename enable_if<
mpl::and_<
traits::is_sequence<Sequence>
, result_of::empty<Sequence>>, void_>::type = void_()) BOOST_NOEXCEPT
, result_of::empty<Sequence>>, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT
{}
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
@ -150,8 +151,8 @@ namespace boost { namespace fusion
template <typename Sequence>
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
explicit deque(Sequence const& seq
, typename disable_if<is_convertible<Sequence, Head>, void_>::type = void_()
, typename enable_if<traits::is_sequence<Sequence>, void_>::type = void_())
, typename disable_if<is_convertible<Sequence, Head>, detail::enabler_>::type = detail::enabler
, typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
: base(base::from_iterator(fusion::begin(seq)))
{}