source: NonGTP/Boost/boost/python/detail/type_list.hpp @ 857

Revision 857, 1.4 KB checked in by igarcia, 18 years ago (diff)
Line 
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
Note: See TracBrowser for help on using the repository browser.