File indexing completed on 2025-01-18 09:50:38
0001
0002
0003
0004
0005 #ifndef PREPROCESSOR_DWA200247_HPP
0006 # define PREPROCESSOR_DWA200247_HPP
0007
0008 # include <boost/preprocessor/cat.hpp>
0009 # include <boost/preprocessor/comma_if.hpp>
0010 # include <boost/preprocessor/repeat.hpp>
0011 # include <boost/preprocessor/tuple/elem.hpp>
0012
0013
0014
0015 # define BOOST_PYTHON_APPLY(x) BOOST_PP_CAT(BOOST_PYTHON_APPLY_, x)
0016
0017 # define BOOST_PYTHON_APPLY_BOOST_PYTHON_ITEM(v) v
0018 # define BOOST_PYTHON_APPLY_BOOST_PYTHON_NIL
0019
0020
0021
0022 # if !defined(__MWERKS__) || __MWERKS__ > 0x2407
0023 # define BOOST_PYTHON_CV_COUNT 4
0024 # else
0025 # define BOOST_PYTHON_CV_COUNT 1
0026 # endif
0027
0028 # ifndef BOOST_PYTHON_MAX_ARITY
0029 # define BOOST_PYTHON_MAX_ARITY 15
0030 # endif
0031
0032 # ifndef BOOST_PYTHON_MAX_BASES
0033 # define BOOST_PYTHON_MAX_BASES 10
0034 # endif
0035
0036 # define BOOST_PYTHON_CV_QUALIFIER(i) \
0037 BOOST_PYTHON_APPLY( \
0038 BOOST_PP_TUPLE_ELEM(4, i, BOOST_PYTHON_CV_QUALIFIER_I) \
0039 )
0040
0041 # define BOOST_PYTHON_CV_QUALIFIER_I \
0042 ( \
0043 BOOST_PYTHON_NIL, \
0044 BOOST_PYTHON_ITEM(const), \
0045 BOOST_PYTHON_ITEM(volatile), \
0046 BOOST_PYTHON_ITEM(const volatile) \
0047 )
0048
0049
0050 # define BOOST_PYTHON_UNARY_ENUM(c, text) BOOST_PP_REPEAT(c, BOOST_PYTHON_UNARY_ENUM_I, text)
0051 # define BOOST_PYTHON_UNARY_ENUM_I(z, n, text) BOOST_PP_COMMA_IF(n) text ## n
0052
0053 # define BOOST_PYTHON_BINARY_ENUM(c, a, b) BOOST_PP_REPEAT(c, BOOST_PYTHON_BINARY_ENUM_I, (a, b))
0054 # define BOOST_PYTHON_BINARY_ENUM_I(z, n, _) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, _), n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 1, _), n)
0055
0056 # define BOOST_PYTHON_ENUM_WITH_DEFAULT(c, text, def) BOOST_PP_REPEAT(c, BOOST_PYTHON_ENUM_WITH_DEFAULT_I, (text, def))
0057 # define BOOST_PYTHON_ENUM_WITH_DEFAULT_I(z, n, _) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, _), n) = BOOST_PP_TUPLE_ELEM(2, 1, _)
0058
0059
0060 # define BOOST_PYTHON_FIXED(z, n, text) text
0061
0062
0063 # define BOOST_PYTHON_FUNCTION_POINTER 0x0001
0064 # define BOOST_PYTHON_POINTER_TO_MEMBER 0x0002
0065
0066 #endif