Subject: Re: [boost] About all these metaprogramming libraries
From: Edouard (edouard_at_[hidden])
Date: 2017-03-18 22:31:17
>To clarify further, std::variant<T...> is absolutely a supported typelist in mp11. If you have a std::variant V, you can remove the duplicate types from it with mp_unique<V>. This is again a deliberate design decision which keeps simple uses simple at the expense of making more complicated uses more >complicated. With the other libraries, to remove the duplicates from a variant, you first have to convert it to the native typelist type, apply 'unique', then convert back to std::variant.
We took the same approach. We have a native type list for convenience, but we also thought there was no reason to prevent direct manipulation of any kind of typelist. We also think it's best to keep the simple use cases straightfoward.