diff --git a/include/boost/fusion/container/set/set.hpp b/include/boost/fusion/container/set/set.hpp index df87c495..12fd8115 100644 --- a/include/boost/fusion/container/set/set.hpp +++ b/include/boost/fusion/container/set/set.hpp @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include #include #include @@ -31,8 +33,8 @@ #include #include #include -#include #include +#include namespace boost { namespace fusion { @@ -57,7 +59,9 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) + set(Sequence const& rhs, + typename enable_if >::type* = 0, + typename enable_if >::type* = 0) : data(rhs) {} template @@ -97,7 +101,9 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED - set(Sequence&& rhs) + set(Sequence&& rhs, + typename enable_if >::type* = 0, + typename enable_if >::type* = 0) : data(std::forward(rhs)) {} template diff --git a/include/boost/fusion/support/detail/is_same_size.hpp b/include/boost/fusion/support/detail/is_same_size.hpp new file mode 100644 index 00000000..b1bf7cde --- /dev/null +++ b/include/boost/fusion/support/detail/is_same_size.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_IS_SAME_SIZE_10082015_1156 +#define FUSION_IS_SAME_SIZE_10082015_1156 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct is_same_size : mpl::false_ {}; + + template + struct is_same_size >::type, + typename enable_if >::type> + : mpl::equal_to, result_of::size > + {}; +}}} + +#endif