FEATURE: Types of a struct can freely pe provided or deduced, following the user preferences.

This commit is contained in:
Damien Buhl (alias daminetreg)
2014-05-09 13:59:49 +02:00
parent 7e1c6cdf47
commit 703bff4ff9
3 changed files with 6 additions and 6 deletions

View File

@ -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

View File

@ -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; \

View File

@ -59,7 +59,7 @@ namespace ns
BOOST_FUSION_ADAPT_STRUCT_NEWAPI(
ns::point,
(x)
(y)
(int, y)
)
#if !BOOST_WORKAROUND(__GNUC__,<4)