|  | Home | Libraries | People | FAQ | More | 
BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the necessary boilerplate to make an arbitrary struct a model of Random Access Sequence.
BOOST_FUSION_ADAPT_STRUCT( struct_name, member_name0, member_name1, member_name2, ... ) // Without BOOST_PP_VARIADICS support : BOOST_FUSION_ADAPT_STRUCT( struct_name, (member_type0, member_name0) (member_type1, member_name1) (auto, member_name2) ... )
        The above macro generates the necessary code to adapt struct_name
        as a model of Random
        Access Sequence.
      
        The sequence of member_nameN, arguments or (member_typeN,
        member_nameN)
        pairs declares the type and names of each of the struct members that are
        part of the sequence.
      
When member_typeN is omitted or set to auto, the type is infered with Boost.TypeOf.
        The macro should be used at global scope, and struct_name
        should be the fully namespace qualified name of the struct to be adapted.
      
#include <boost/fusion/adapted/struct/adapt_struct.hpp> #include <boost/fusion/include/adapt_struct.hpp>
namespace demo { struct employee { std::string name; int age; }; } // demo::employee is now a Fusion sequence BOOST_FUSION_ADAPT_STRUCT( demo::employee, name, age) // Without BOOST_PP_VARIADICS support : BOOST_FUSION_ADAPT_STRUCT( demo::employee, (auto, name) (auto, age) )