template<typename ... T>
struct boost::mpl::vector< T >
Adapter for Boost.MPL vectors. 
Modeled concepts 
It is possible for MPL vectors to model a couple of concepts. However, because they are only able to hold types, they lack the generality required to model concepts like Functor, Sequence and other related concepts.
- Comparable
 Two MPL vectors are equal if and only if they contain the same number of types, and if all those types are equal.- namespace mpl = boost::mpl; -     hana::equal- (mpl::vector2<int, char>{}, mpl::vector<int, char>{}) 
 - ); -     hana::not_equal- (mpl::vector2<int, char>{}, mpl::vector<int, char, float>{}) 
 - ); - int main() { } 
- Foldable
 Folding a MPL vector is equivalent to folding it as a- Sequence.- #include <type_traits> - namespace mpl = boost::mpl; - auto types = mpl::vector<long, float, short, float, long, long double>{}; -     return hana::if_- (hana::trait<std::is_floating_point>(t), 
 -     ); - }); - int main() { } 
- Iterable
 Iterating over a MPL vector is just iterating over each of the types it contains, as if it were a- Sequence.- #include <type_traits> - namespace mpl = boost::mpl; -     mpl::vector<char, void>{} - )); -                      hana::trait<std::is_floating_point>), -     mpl::vector<int, float&>{} - )); - int main() { } 
- Searchable
 A MPL vector can be searched as if it were a tuple containing- hana::types.- namespace mpl = boost::mpl; -     == -     hana::just(hana::type_c<float>) - ); -     hana::find- (mpl::vector<int, float, char const*>{}, hana::type_c<void>) 
 -     == -     hana::nothing - ); - int main() { } 
Conversion from any Foldable 
A MPL vector can be created from any Foldable. More precisely, for a Foldable xs whose linearization is [x1, ..., xn], 
to<ext::boost::mpl::vector_tag>(xs) == mpl::vector<t1, ..., tn>
 where tk is the type of xk, or the type contained in xk if xk is a hana::type. 
- Warning
- The limitations on the size of mpl::vectors are inherited by this conversion utility, and hence trying to convert aFoldablecontaining more than BOOST_MPL_LIMIT_VECTOR_SIZE elements is an error.#include <type_traits> namespace mpl = boost::mpl; auto xs = hana::make_tuple(hana::type_c<int>, hana::type_c<char>, hana::type_c<double>); static_assert(std::is_same<     decltype(hana::to<hana::ext::boost::mpl::vector_tag>(xs)),     mpl::vector<int, char, double> >{}, ""); int main() { }