
Steven Watanabe <watanabesj <at> gmail.com> writes:
AMDG
Sergei Politov wrote:
For provided example, the usage of this class is the following: template<class T> struct make_vector { typedef std::vector<T> type; };
typedef mstd::map_gen<boost::mpl::vector<int, char>, make_vector>::type my_map;
You should probably use an mpl lambda expression
mstd::map_gen<boost::mpl::vector<int, char>, make_vector<boost::mpl::_1>
::type
Sorry, I'm not very familiar with mpl::lambda, as far as I understand to write make_vector<boost::mpl::_> I should support mpl::lambda in make_vector. If so it is not neccessary, as soon as it is just example, and it does not belong to internal part of map_gen.
In other words it takes some fusion sequence and metafunction. MPL sequence? There shouldn't be any runtime information associated with the key. I meant: "fully conforming fusion sequences". As soon as it is possible to adapt mpl sequence to fusion sequence, I suggest it is better to require fusion sequence concept rather mpl sequence concept. Even runtime information is not used. It produces no overhead, but makes map_gen more flexible.
In Christ, Steven Watanabe
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost