The above macro generates the necessary code to adapt struct_name
as a model of Random
Access Sequence and Associative
Sequence. The sequence of (member_typeN,member_nameN,key_typeN)
triples declare the type, name and key type of each of the struct members
that will be part of the sequence.

The macro should be used at global scope, and struct_name
should be the fully namespace qualified name of the struct to be converted.

namespacedemo{structemployee{std::stringname;intage;};}namespacekeys{structname;structage;}// demo::employee is now a Fusion sequence
// It is also an associative sequence with
// keys keys::name and keys::age present.
BOOST_FUSION_ADAPT_ASSOC_STRUCT(demo::employee(std::string,name,keys::name)(int,age,keys::age))