The MPL Reference Manual: BOOST_MPL_LIMIT_VECTOR_SIZE

Front Page / Macros / Configuration / BOOST_MPL_LIMIT_VECTOR_SIZE

# BOOST_MPL_LIMIT_VECTOR_SIZE

### Synopsis

    #if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE)
    #   define BOOST_MPL_LIMIT_VECTOR_SIZE \
            implementation-defined integral constant \
    /**/
    #endif

### Description

`BOOST_MPL_LIMIT_VECTOR_SIZE` is an overridable configuration macro regulating the maximum arity of the `vector`'s and `vector_c`'s variadic forms. In this implementation of the library, `BOOST_MPL_LIMIT_VECTOR_SIZE` has a default value of 20. To override the default limit, define `BOOST_MPL_LIMIT_VECTOR_SIZE` to the desired maximum arity rounded up to the nearest multiple of ten before including any library header. [Note: Overriding will take effect only if the library is configured not to use preprocessed headers. See BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS for more information. — end note]

### Example

    #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
    #define BOOST_MPL_LIMIT_VECTOR_SIZE 10
    #include <boost/mpl/vector.hpp>

    using namespace boost::mpl;

    typedef vector_c<int,1> v_1;
    typedef vector_c<int,1,2,3,4,5,6,7,8,9,10> v_10;
    // typedef vector_c<int,1,2,3,4,5,6,7,8,9,10,11> v_11; // error!

### See also

Configuration, BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS, BOOST_MPL_LIMIT_LIST_SIZE