Section 5.9.  Integral Sequence Wrappers
Team LiB
Previous Section Next Section

5.9. 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;



    Team LiB
    Previous Section Next Section