In such cases you just typedef those comma-containing types and pass the typedef names to macros.
HTH,
Gevorg
Yeah, that was my first version, which failed, and I figured the problem was the commas in the maps, whichwould be interpreted as argument separators by the macro processor. As far as I'm aware the usual solutionis to parenthesise the comma containing arguments, but in this case that seems to blow up inside Fuion._______________________________________________On 31 July 2017 at 00:56, Steve Lorimer via Boost-users <boost-users@lists.boost.org> wrote:From looking at the docs, is it because you're wrapping the member type in parens?BOOST_FUSION_DEFINE_STRUCT( (namespace0)(namespace1)..., struct_name, (member_type0, member_name0) (member_type1, member_name1) ... )that is, have you tried:BOOST_FUSION_DEFINE_STRUCT((demo), curves,(std::map<std::string, std::string>, futures)(std::map<std::string, std::string>, credit_curves))On 30 July 2017 at 17:25, Robert Jones via Boost-users <boost-users@lists.boost.org> wrote:_______________________________________________Hi PeepsCan anyone tell me what's wrong with this? I think macro expansion is going awry, but I'm not sure why. Do I really have to typedef the map<...> type to keep Fusion happy?Thx.#include<string>#include<map>#include <boost/fusion/adapted/struct/define_struct.hpp>#include <boost/fusion/include/define_struct.hpp>BOOST_FUSION_DEFINE_STRUCT((demo), curves,((std::map<std::string, std::string>), futures)((std::map<std::string, std::string>), credit_curves))int main( ){return 0;}> makefusion.cpp|9 col 39| error: invalid declarator before ‘)’ token|| ((std::map<std::string, std::string>), futures)Kind RegardsRob.
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users