annotate DEPENDENCIES/generic/include/boost/python/detail/preprocessor.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 // Copyright David Abrahams 2002.
Chris@16 2 // Distributed under the Boost Software License, Version 1.0. (See
Chris@16 3 // accompanying file LICENSE_1_0.txt or copy at
Chris@16 4 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 5 #ifndef PREPROCESSOR_DWA200247_HPP
Chris@16 6 # define PREPROCESSOR_DWA200247_HPP
Chris@16 7
Chris@16 8 # include <boost/preprocessor/cat.hpp>
Chris@16 9 # include <boost/preprocessor/comma_if.hpp>
Chris@16 10 # include <boost/preprocessor/repeat.hpp>
Chris@16 11 # include <boost/preprocessor/tuple/elem.hpp>
Chris@16 12
Chris@16 13 // stuff that should be in the preprocessor library
Chris@16 14
Chris@16 15 # define BOOST_PYTHON_APPLY(x) BOOST_PP_CAT(BOOST_PYTHON_APPLY_, x)
Chris@16 16
Chris@16 17 # define BOOST_PYTHON_APPLY_BOOST_PYTHON_ITEM(v) v
Chris@16 18 # define BOOST_PYTHON_APPLY_BOOST_PYTHON_NIL
Chris@16 19
Chris@16 20 // cv-qualifiers
Chris@16 21
Chris@16 22 # if !defined(__MWERKS__) || __MWERKS__ > 0x2407
Chris@16 23 # define BOOST_PYTHON_CV_COUNT 4
Chris@16 24 # else
Chris@16 25 # define BOOST_PYTHON_CV_COUNT 1
Chris@16 26 # endif
Chris@16 27
Chris@16 28 # ifndef BOOST_PYTHON_MAX_ARITY
Chris@16 29 # define BOOST_PYTHON_MAX_ARITY 15
Chris@16 30 # endif
Chris@16 31
Chris@16 32 # ifndef BOOST_PYTHON_MAX_BASES
Chris@16 33 # define BOOST_PYTHON_MAX_BASES 10
Chris@16 34 # endif
Chris@16 35
Chris@16 36 # define BOOST_PYTHON_CV_QUALIFIER(i) \
Chris@16 37 BOOST_PYTHON_APPLY( \
Chris@16 38 BOOST_PP_TUPLE_ELEM(4, i, BOOST_PYTHON_CV_QUALIFIER_I) \
Chris@16 39 )
Chris@16 40
Chris@16 41 # define BOOST_PYTHON_CV_QUALIFIER_I \
Chris@16 42 ( \
Chris@16 43 BOOST_PYTHON_NIL, \
Chris@16 44 BOOST_PYTHON_ITEM(const), \
Chris@16 45 BOOST_PYTHON_ITEM(volatile), \
Chris@16 46 BOOST_PYTHON_ITEM(const volatile) \
Chris@16 47 )
Chris@16 48
Chris@16 49 // enumerators
Chris@16 50 # define BOOST_PYTHON_UNARY_ENUM(c, text) BOOST_PP_REPEAT(c, BOOST_PYTHON_UNARY_ENUM_I, text)
Chris@16 51 # define BOOST_PYTHON_UNARY_ENUM_I(z, n, text) BOOST_PP_COMMA_IF(n) text ## n
Chris@16 52
Chris@16 53 # define BOOST_PYTHON_BINARY_ENUM(c, a, b) BOOST_PP_REPEAT(c, BOOST_PYTHON_BINARY_ENUM_I, (a, b))
Chris@16 54 # 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)
Chris@16 55
Chris@16 56 # define BOOST_PYTHON_ENUM_WITH_DEFAULT(c, text, def) BOOST_PP_REPEAT(c, BOOST_PYTHON_ENUM_WITH_DEFAULT_I, (text, def))
Chris@16 57 # 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, _)
Chris@16 58
Chris@16 59 // fixed text (no commas)
Chris@16 60 # define BOOST_PYTHON_FIXED(z, n, text) text
Chris@16 61
Chris@16 62 // flags
Chris@16 63 # define BOOST_PYTHON_FUNCTION_POINTER 0x0001
Chris@16 64 # define BOOST_PYTHON_POINTER_TO_MEMBER 0x0002
Chris@16 65
Chris@16 66 #endif // PREPROCESSOR_DWA200247_HPP