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 declares the type, name and key type of each of the struct members
that are 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 adapted.

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