mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-16 05:42:20 +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, \
|
NAME_SEQ, \
|
||||||
I, \
|
I, \
|
||||||
BOOST_PP_EMPTY, \
|
BOOST_PP_EMPTY, \
|
||||||
ATTRIBUTE, \
|
BOOST_PP_TUPLE_ELEM(1, ATTRIBUTE), \
|
||||||
1)
|
BOOST_PP_TUPLE_ELEM(0, ATTRIBUTE))
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \
|
#define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \
|
||||||
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
BOOST_FUSION_ADAPT_STRUCT_BASE( \
|
||||||
@ -79,9 +79,9 @@
|
|||||||
|
|
||||||
|
|
||||||
#define BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__0(...) \
|
#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(...) \
|
#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__0_END
|
||||||
#define BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__1_END
|
#define BOOST_FUSION_ADAPT_STRUCT_FILLER_NEWAPI__1_END
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@
|
|||||||
> \
|
> \
|
||||||
{ \
|
{ \
|
||||||
typedef \
|
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 \
|
BOOST_FUSION_ATTRIBUTE_TYPE_DEDUCE, BOOST_FUSION_GET_GIVEN_TYPE \
|
||||||
)(NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE) \
|
)(NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE) \
|
||||||
attribute_type; \
|
attribute_type; \
|
||||||
|
@ -59,7 +59,7 @@ namespace ns
|
|||||||
BOOST_FUSION_ADAPT_STRUCT_NEWAPI(
|
BOOST_FUSION_ADAPT_STRUCT_NEWAPI(
|
||||||
ns::point,
|
ns::point,
|
||||||
(x)
|
(x)
|
||||||
(y)
|
(int, y)
|
||||||
)
|
)
|
||||||
|
|
||||||
#if !BOOST_WORKAROUND(__GNUC__,<4)
|
#if !BOOST_WORKAROUND(__GNUC__,<4)
|
||||||
|
Reference in New Issue
Block a user