Integral Sequence Wrappers
We've already discussed the use of the vector_c class template as a shortcut for writing lists of integral constants. MPL also supplies list_c, deque_c, and set_c for representing the corresponding vectors, deques, and sets. Each of these sequences takes the form:
sequence-type_c<T, n1, n2, ... nk>
The first argument to each of these sequence wrappers is the integer type T that it will store, and the following arguments are the values of T that it will store. You can think of these as being equivalent to:
sequence-type< integral_c<T,n1> , integral_c<T,n2> , ... , integral_c<T,nk> >
That said, they are not precisely the same type, and, as we've suggested, you should not rely on type identity when comparing sequences.
Note that the MPL also provides _c-suffixed versions of the numbered sequence forms:
#include <boost/mpl/vector/vector10_c.hpp> typedef boost::mpl::vector10_c<int,1,2,3,4,5,6,7,8,9,10> v10;