# list

### Synopsis

    template<
          typename T1 = implementation-defined
        , typename T2 = implementation-defined
        , ...
        , typename Tn = implementation-defined
        >
    struct list
    {
    };

### Description

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).

### Example

    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));

### Definition

    #include "boost/mpl/list.hpp"
    #include "boost/mpl/list/list0.hpp"
    #include "boost/mpl/list/list10.hpp"
    ...
    #include "boost/mpl/list/list50.hpp"

### See also

Forward Sequence, `list_c`, `vector`, `vector_c`, `range_c`

Table of Content | Reference
Last edited July 17, 2002 8:05 am