mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-15 05:16:39 +02:00
Don't define user-provided special functions.
To allow to define empty struct.
This commit is contained in:
@ -282,20 +282,7 @@
|
|||||||
NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE)
|
NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE)
|
||||||
|
|
||||||
#define BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \
|
#define BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \
|
||||||
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \
|
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE)
|
||||||
\
|
|
||||||
template<typename Seq> \
|
|
||||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
|
|
||||||
NAME(Seq const&) \
|
|
||||||
{} \
|
|
||||||
\
|
|
||||||
template<typename Seq> \
|
|
||||||
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
|
|
||||||
self_type& \
|
|
||||||
operator=(Seq const& seq) \
|
|
||||||
{ \
|
|
||||||
return *this; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define BOOST_FUSION_DEFINE_STRUCT_IMPL( \
|
#define BOOST_FUSION_DEFINE_STRUCT_IMPL( \
|
||||||
NAMESPACE_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \
|
NAMESPACE_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \
|
||||||
@ -327,10 +314,7 @@
|
|||||||
ATTRIBUTE_TUPLE_SIZE)
|
ATTRIBUTE_TUPLE_SIZE)
|
||||||
|
|
||||||
#define BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL( \
|
#define BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL( \
|
||||||
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \
|
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE)
|
||||||
\
|
|
||||||
BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \
|
|
||||||
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE)
|
|
||||||
|
|
||||||
#define BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \
|
#define BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \
|
||||||
TEMPLATE_PARAMS_SEQ, \
|
TEMPLATE_PARAMS_SEQ, \
|
||||||
|
@ -29,6 +29,8 @@ BOOST_FUSION_DEFINE_ASSOC_STRUCT(
|
|||||||
(int, y, ns::y_member)
|
(int, y, ns::y_member)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
BOOST_FUSION_DEFINE_ASSOC_STRUCT(BOOST_PP_EMPTY(), empty_struct, )
|
||||||
|
|
||||||
int
|
int
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
|
@ -31,6 +31,8 @@ BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
|
|||||||
(int, y, ns::y_member)
|
(int, y, ns::y_member)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT((M), BOOST_PP_EMPTY(), empty_struct, )
|
||||||
|
|
||||||
int
|
int
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
|
@ -33,6 +33,8 @@ BOOST_FUSION_DEFINE_STRUCT(
|
|||||||
|
|
||||||
BOOST_FUSION_DEFINE_STRUCT(BOOST_PP_EMPTY(), s, (int, m))
|
BOOST_FUSION_DEFINE_STRUCT(BOOST_PP_EMPTY(), s, (int, m))
|
||||||
|
|
||||||
|
BOOST_FUSION_DEFINE_STRUCT(BOOST_PP_EMPTY(), empty_struct, )
|
||||||
|
|
||||||
// Testing non-constexpr compatible types
|
// Testing non-constexpr compatible types
|
||||||
BOOST_FUSION_DEFINE_STRUCT(
|
BOOST_FUSION_DEFINE_STRUCT(
|
||||||
(ns),
|
(ns),
|
||||||
|
@ -27,6 +27,8 @@ BOOST_FUSION_DEFINE_TPL_STRUCT(
|
|||||||
|
|
||||||
BOOST_FUSION_DEFINE_TPL_STRUCT((M), BOOST_PP_EMPTY(), s, (M, m))
|
BOOST_FUSION_DEFINE_TPL_STRUCT((M), BOOST_PP_EMPTY(), s, (M, m))
|
||||||
|
|
||||||
|
BOOST_FUSION_DEFINE_TPL_STRUCT((M), BOOST_PP_EMPTY(), empty_struct, )
|
||||||
|
|
||||||
int
|
int
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user