...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
template< typename T1 = implementation-defined , typename T2 = implementation-defined , ... , typename Tn = implementation-defined > struct list { };
A list
is a Forward Sequence of types. It's also an Extensible Sequence that supports constant time insertion and removal of elements at the beginning (through push_front
), and linear time insertion and removal of elements at the end or in the middle (through insert
/erase
algorithms).
typedef list<float,double,long double> floats; typedef push_front<floating_types,my_float>::type ext_floats; BOOST_STATIC_ASSERT((boost::is_same< front<ext_floats>::type, my_float >::value));
#include "boost/mpl/list.hpp" #include "boost/mpl/list/list0.hpp" #include "boost/mpl/list/list10.hpp" ... #include "boost/mpl/list/list50.hpp"
Forward Sequence, list_c
, vector
, vector_c
, range_c