Hello, I'm trying to convert an MPL map to a fusion map using
boost::fusion::result_of::as_map. I have the following code, with
some of the leading-in code omitted for brevity although I don't think
it's relevant:
//listener_info_types := mpl::list< pair >
typedef typename boost::mpl::transform<
handler_types, token_types,
parameterize_pair
>::type listener_info_types;
//listener_info_lookup = mpl::map
typedef typename boost::mpl::transform<
SupportedEvents, listener_info_types,
boost::mpl::inserter<
boost::mpl::map<>,
boost::mpl::identityboost::mpl::_1
>
>::type listener_info_lookup;
typedef typename
boost::fusion::result_of::as_map::type fusion_listener_map;
Deleting the last line and everything works. I've successfully used a
similar technique to convert mpl vectors to fusion vectors in the
past, is it not possible for maps? Or more likely I'm just doing
something wrong? I can post more code if necessary including full
type definitions leading up to all these previous typedefs, but
basically I have a class parameterized initially with an mpl::list of
some number of types. I then do a sequence of mpl::transform calls,
none of which with use a custom inserter. The end result of all of
that is listener_info_types above. So listener_info_types should be
an mpl::list. The next call should then create an mpl::map,
(SupportedEvents is the initial type used to parameterize the class,
so an mpl::list as previously mentioned).
Any suggestions?
Thanks
Zach