On 07/21/2014 02:34 PM, Agustín K-ballo Bergé wrote:
On 21/07/2014 08:01 a.m., Michael Shepanski wrote:
On 21/07/2014 6:53 PM, Mathias Gaunard wrote:
On 15/07/14 14:45, Michael Shepanski wrote:
Could you clarify what you mean by "do this"? QUINCE_MAP_CLASS builds a class with exactly the data members, function members, and bases that quince requires.
Boost.Fusion defines tuple concepts, and provides utilities to adapt a class to a tuple (or define a class and adapt it at the same time).
To maximize compatibility, and to prevent users having to say that their structure is tuple-like a billion times, it's better to reuse this.
I see that BOOST_FUSION_ADAPT_STRUCT asks users to repeat the members' types, in a way that QUINCE_MAP_CLASS doesn't. (Why is that, btw?)
Because Fusion supports C++98. That said, there's work being done on a branch to add member type deduction via `decltype` to all ADAPT macros.
Just to note that the new macros doesn't disable the C++98 compatibility as it uses Boost.TypeOf, the emulation just work fine with C++98 compilers, and it's still possible to provide the types, as you suggested. off-topic: I'll bring the missing macros soon, I'm late on schedule. :/
Regards,