template< typename T , T C1 = implementation-defined , T C2 = implementation-defined , ... , T CN = implementation-defined > struct list_c { };
Similary to vector_c
, list_c
is a shorcut interface whose whole purpose is to make the creation of a list
of Integral Constants less verbose:
typedef list_c<unsigned long,-1,0,1,1,-1,0,0,1,-1> data;
If list_c
didn't exist, instead of the above line you would have to write this:
typedef list< integral_c<unsigned long,-1> , integral_c<unsigned long,0> , integral_c<unsigned long,1> , integral_c<unsigned long,1> , integral_c<unsigned long,-1> , integral_c<unsigned long,0> , integral_c<unsigned long,0> , integral_c<unsigned long,1> , integral_c<unsigned long,-1> > data;
#include "boost/mpl/list_c.hpp" #include "boost/mpl/list/list0_c.hpp" #include "boost/mpl/list/list10_c.hpp" ... #include "boost/mpl/list/list50_c.hpp"
Random Access Sequence, list
, vector
, vector_c
, range_c