]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // Copyright David Abrahams 2002. |
2 | // Distributed under the Boost Software License, Version 1.0. (See | |
3 | // accompanying file LICENSE_1_0.txt or copy at | |
4 | // http://www.boost.org/LICENSE_1_0.txt) | |
5 | #ifndef TYPE_LIST_DWA2002913_HPP | |
6 | # define TYPE_LIST_DWA2002913_HPP | |
7 | ||
8 | # include <boost/config.hpp> | |
9 | # include <boost/python/detail/preprocessor.hpp> | |
10 | # include <boost/preprocessor/arithmetic/inc.hpp> | |
11 | ||
12 | # if BOOST_PYTHON_MAX_ARITY + 2 > BOOST_PYTHON_MAX_BASES | |
13 | # define BOOST_PYTHON_LIST_SIZE BOOST_PP_INC(BOOST_PP_INC(BOOST_PYTHON_MAX_ARITY)) | |
14 | # else | |
15 | # define BOOST_PYTHON_LIST_SIZE BOOST_PYTHON_MAX_BASES | |
16 | # endif | |
17 | ||
18 | // Compute the MPL vector header to use for lists up to BOOST_PYTHON_LIST_SIZE in length | |
19 | # if BOOST_PYTHON_LIST_SIZE > 48 | |
20 | # error Arities above 48 not supported by Boost.Python due to MPL internal limit | |
21 | # elif BOOST_PYTHON_LIST_SIZE > 38 | |
22 | # include <boost/mpl/vector/vector50.hpp> | |
23 | # elif BOOST_PYTHON_LIST_SIZE > 28 | |
24 | # include <boost/mpl/vector/vector40.hpp> | |
25 | # elif BOOST_PYTHON_LIST_SIZE > 18 | |
26 | # include <boost/mpl/vector/vector30.hpp> | |
27 | # elif BOOST_PYTHON_LIST_SIZE > 8 | |
28 | # include <boost/mpl/vector/vector20.hpp> | |
29 | # else | |
30 | # include <boost/mpl/vector/vector10.hpp> | |
31 | # endif | |
32 | ||
33 | # include <boost/python/detail/type_list_impl.hpp> | |
34 | ||
35 | #endif // TYPE_LIST_DWA2002913_HPP |