mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-15 21:32:22 +02:00
FEATURE: Types of a struct can freely pe provided or deduced, following the user preferences.
This commit is contained in:
@ -51,8 +51,8 @@
|
||||
NAME_SEQ, \
|
||||
I, \
|
||||
BOOST_PP_EMPTY, \
|
||||
ATTRIBUTE, \
|
||||
1)
|
||||
BOOST_PP_TUPLE_ELEM(1, ATTRIBUTE), \
|
||||
BOOST_PP_TUPLE_ELEM(0, ATTRIBUTE))
|
||||
|
||||
#define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \
|
||||
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||
@ -79,9 +79,9 @@
|
||||
|
||||
|
||||
#define BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__0(...) \
|
||||
((__VA_ARGS__)) BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__1
|
||||
((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__1
|
||||
#define BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__1(...) \
|
||||
((__VA_ARGS__)) BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__0
|
||||
((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__0
|
||||
#define BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__0_END
|
||||
#define BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__1_END
|
||||
|
||||
|
@ -128,7 +128,7 @@
|
||||
> \
|
||||
{ \
|
||||
typedef \
|
||||
BOOST_PP_IF(BOOST_PP_LESS(/*ATTRIBUTE_TUPEL_SIZE*/1,2), \
|
||||
BOOST_PP_IF(BOOST_PP_LESS(ATTRIBUTE_TUPEL_SIZE,2), \
|
||||
BOOST_FUSION_ATTRIBUTE_TYPE_DEDUCE, BOOST_FUSION_GET_GIVEN_TYPE \
|
||||
)(NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE) \
|
||||
attribute_type; \
|
||||
|
@ -59,7 +59,7 @@ namespace ns
|
||||
BOOST_FUSION_ADAPT_STRUCT_NEWAPI(
|
||||
ns::point,
|
||||
(x)
|
||||
(y)
|
||||
(int, y)
|
||||
)
|
||||
|
||||
#if !BOOST_WORKAROUND(__GNUC__,<4)
|
||||
|
Reference in New Issue
Block a user