]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | .. Macros/Configuration//BOOST_MPL_LIMIT_MAP_SIZE |60 |
2 | ||
3 | BOOST_MPL_LIMIT_MAP_SIZE | |
4 | ======================== | |
5 | ||
6 | Synopsis | |
7 | -------- | |
8 | ||
9 | .. parsed-literal:: | |
10 | ||
11 | #if !defined(BOOST_MPL_LIMIT_MAP_SIZE) | |
12 | # define BOOST_MPL_LIMIT_MAP_SIZE \\ | |
13 | |idic| \\ | |
14 | /\*\*/ | |
15 | #endif | |
16 | ||
17 | ||
18 | Description | |
19 | ----------- | |
20 | ||
21 | ``BOOST_MPL_LIMIT_MAP_SIZE`` is an overridable configuration macro regulating | |
22 | the maximum arity of the ``map``\ 's `variadic form`__. In this | |
23 | implementation of the library, ``BOOST_MPL_LIMIT_MAP_SIZE`` has a default value | |
24 | of 20. To override the default limit, define ``BOOST_MPL_LIMIT_MAP_SIZE`` to | |
25 | the desired maximum arity rounded up to the nearest multiple of ten before | |
26 | including any library header. |preprocessed headers disclaimer| | |
27 | ||
28 | __ `Variadic Sequence`_ | |
29 | ||
30 | ||
31 | Example | |
32 | ------- | |
33 | ||
34 | .. parsed-literal:: | |
35 | ||
36 | #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS | |
37 | #define BOOST_MPL_LIMIT_MAP_SIZE 10 | |
38 | ``#``\ include <boost/mpl/map.hpp> | |
39 | ``#``\ include <boost/mpl/pair.hpp> | |
40 | ``#``\ include <boost/mpl/int.hpp> | |
41 | ||
42 | using namespace boost::mpl; | |
43 | ||
44 | template< int i > struct ints : pair< int_<i>,int_<i> > {}; | |
45 | ||
46 | typedef map< ints<1> > m_1; | |
47 | typedef map< ints<1>, ints<2>, ints<3>, ints<4>, ints<5> | |
48 | ints<6>, ints<7>, ints<8>, ints<9>, ints<10> > m_10; | |
49 | ||
50 | // typedef map< ints<1>, ints<2>, ints<3>, ints<4>, ints<5> | |
51 | // ints<6>, ints<7>, ints<8>, ints<9>, ints<10>, ints<11> > m_11; // error! | |
52 | ||
53 | ||
54 | See also | |
55 | -------- | |
56 | ||
57 | |Configuration|, |BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS|, |BOOST_MPL_LIMIT_SET_SIZE| | |
58 | ||
59 | ||
60 |