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 | # ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
---|
34 | # include <boost/python/detail/type_list_impl.hpp>
|
---|
35 | # else
|
---|
36 | # include <boost/python/detail/type_list_impl_no_pts.hpp>
|
---|
37 | # endif
|
---|
38 |
|
---|
39 | #endif // TYPE_LIST_DWA2002913_HPP
|
---|