FEATURE: BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED_NS which allows listing class attributes to adapt without specifying types.

This commit is contained in:
Damien Buhl (alias daminetreg)
2014-01-26 18:01:44 +01:00
parent 0d7ad9f6e2
commit 5aa9a89fb8
2 changed files with 9 additions and 1 deletions

View File

@ -15,6 +15,14 @@
#include <boost/fusion/adapted/struct/adapt_struct_named.hpp> #include <boost/fusion/adapted/struct/adapt_struct_named.hpp>
#include <boost/fusion/adapted/struct/auto_adapt_struct.hpp> #include <boost/fusion/adapted/struct/auto_adapt_struct.hpp>
#define BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED_NS( \
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
\
BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, \
BOOST_PP_SEQ_FOR_EACH( \
BOOST_FUSION_AUTO_ADAPT_STRUCT_FILLER, WRAPPED_TYPE, ATTRIBUTES)) \
#define BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ #define BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
BOOST_FUSION_ADAPT_STRUCT_NAMED( \ BOOST_FUSION_ADAPT_STRUCT_NAMED( \
WRAPPED_TYPE,NAME, \ WRAPPED_TYPE,NAME, \

View File

@ -49,7 +49,7 @@ BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED(
// this creates a fusion view: ns1::s1 // this creates a fusion view: ns1::s1
struct s { int m; }; struct s { int m; };
BOOST_FUSION_ADAPT_STRUCT_NAMED_NS(s, (ns1), s1, (int, m)) BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED_NS(s, (ns1), s1, (m))
int int
main() main()