forked from boostorg/fusion
Enabled new ADAPT_STRUCT_API for ADAPT_TPL_STRUCT.
This commit is contained in:
@ -43,21 +43,20 @@
|
|||||||
BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE), \
|
BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE), \
|
||||||
BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE))
|
BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE))
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \
|
|
||||||
|
#define BOOST_FUSION_ADAPT_AUTO BOOST_PP_EMPTY()
|
||||||
|
|
||||||
|
#if BOOST_PP_VARIADICS
|
||||||
|
|
||||||
|
# define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ...) \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
(1)TEMPLATE_PARAMS_SEQ, \
|
(1)TEMPLATE_PARAMS_SEQ, \
|
||||||
(1)NAME_SEQ, \
|
(1)NAME_SEQ, \
|
||||||
struct_tag, \
|
struct_tag, \
|
||||||
0, \
|
0, \
|
||||||
((0,0)) BOOST_PP_CAT( \
|
BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(__VA_ARGS__), \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
|
||||||
BOOST_FUSION_ADAPT_STRUCT_C)
|
BOOST_FUSION_ADAPT_STRUCT_C)
|
||||||
|
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_AUTO BOOST_PP_EMPTY()
|
|
||||||
|
|
||||||
#if BOOST_PP_VARIADICS
|
|
||||||
|
|
||||||
# define BOOST_FUSION_ADAPT_STRUCT(NAME, ...) \
|
# define BOOST_FUSION_ADAPT_STRUCT(NAME, ...) \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
(0), \
|
(0), \
|
||||||
@ -78,6 +77,17 @@
|
|||||||
|
|
||||||
#else // BOOST_PP_VARIADICS
|
#else // BOOST_PP_VARIADICS
|
||||||
|
|
||||||
|
# define BOOST_FUSION_ADAPT_TPL_STRUCT( \
|
||||||
|
TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
|
(1)TEMPLATE_PARAMS_SEQ, \
|
||||||
|
(1)NAME_SEQ, \
|
||||||
|
struct_tag, \
|
||||||
|
0, \
|
||||||
|
((0,0)) BOOST_PP_CAT( \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
|
||||||
|
BOOST_FUSION_ADAPT_STRUCT_C)
|
||||||
|
|
||||||
# define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \
|
# define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
(0), \
|
(0), \
|
||||||
|
@ -41,7 +41,7 @@ namespace ns
|
|||||||
BOOST_FUSION_ADAPT_TPL_STRUCT(
|
BOOST_FUSION_ADAPT_TPL_STRUCT(
|
||||||
(X)(Y),
|
(X)(Y),
|
||||||
(ns::point)(X)(Y),
|
(ns::point)(X)(Y),
|
||||||
(X, x)
|
(BOOST_FUSION_ADAPT_AUTO, x)
|
||||||
(Y, y)
|
(Y, y)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user