Remove BOOST_CONSTEXPR on BOOST_FUSION_DEFINE_STRUCT constructor as it however adds the requirement that the user provided types are constant enabled.

This commit is contained in:
Damien Buhl (alias daminetreg)
2015-04-21 08:59:24 +02:00
parent 639cf2459d
commit bbdfc9972e

View File

@ -69,7 +69,7 @@
ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\ \
template<typename Seq> \ template<typename Seq> \
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
self_type& \ self_type& \
operator=(Seq const& seq) \ operator=(Seq const& seq) \
{ \ { \
@ -128,7 +128,7 @@
ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTE_TUPEL_SIZE, \
ATTRIBUTES_SEQ) \ ATTRIBUTES_SEQ) \
\ \
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
NAME() \ NAME() \
: BOOST_PP_SEQ_FOR_EACH_I_R( \ : BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \ 1, \
@ -137,7 +137,7 @@
ATTRIBUTES_SEQ) \ ATTRIBUTES_SEQ) \
{} \ {} \
\ \
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
NAME(self_type const& other_self) \ NAME(self_type const& other_self) \
: BOOST_PP_SEQ_FOR_EACH_I_R( \ : BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \ 1, \
@ -147,7 +147,7 @@
{} \ {} \
\ \
template<typename Seq> \ template<typename Seq> \
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
NAME(Seq const& seq \ NAME(Seq const& seq \
BOOST_PP_IF( \ BOOST_PP_IF( \
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \
@ -167,7 +167,7 @@
#define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \ #define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\ \
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
explicit \ explicit \
NAME(boost::call_traits< \ NAME(boost::call_traits< \
BOOST_PP_TUPLE_ELEM( \ BOOST_PP_TUPLE_ELEM( \
@ -180,7 +180,7 @@
#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \ #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\ \
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
explicit \ explicit \
NAME(typename boost::call_traits< \ NAME(typename boost::call_traits< \
typename boost::fusion::detail::get_first_arg< \ typename boost::fusion::detail::get_first_arg< \
@ -217,7 +217,7 @@
#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \ #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\ \
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \ 1, \
BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \ BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \
@ -245,7 +245,7 @@
#define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \ #define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\ \
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_GPU_ENABLED \
NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \ 1, \
BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \ BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \