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, \ 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

View File

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

View File

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