I'm searching some kind of meta vector/linked list. Seems like mpl::vector was the best way of doing this. But now there is hana. Unfortunately I can't find some kind of hana::vector. I saw an adapter for mpl::vector that's all. So that's mean mpl::vector is still the best way of doing things?
Hana was pretty quick to compile so I was like : well why not? But mpl is not that fast, do I really need to code mpl::vector myself?
boost::hana::tuple
should be a good-enough replacement formpl::vector
if what you need is a heterogeneous "list" of types/values.You can access an item in a particular index with
boost::hana::at
, append items withboost::hana::append
, remove them withboost::hana::remove
and much more.Even if there isn't a 1-to-1 correspondence to
mpl::vector
's interface, it should be trivial to implement some utility functions given the primitives mentioned above.If you need a list of types, you should use
boost::hana::tuple_t
, which is syntactic sugar forhana::tuple(hana::type_c<Types>...)
.