annotate DEPENDENCIES/generic/include/boost/python/detail/make_tuple.hpp @ 133:4acb5d8d80b6
tip
Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author |
Chris Cannam |
date |
Tue, 30 Jul 2019 12:25:44 +0100 |
parents |
2665513ce2d3 |
children |
|
rev |
line source |
Chris@16
|
1 # ifndef BOOST_PYTHON_SYNOPSIS
|
Chris@16
|
2 # // Copyright David Abrahams 2002.
|
Chris@16
|
3 # // Distributed under the Boost Software License, Version 1.0. (See
|
Chris@16
|
4 # // accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
5 # // http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
6
|
Chris@16
|
7 # if !defined(BOOST_PP_IS_ITERATING)
|
Chris@16
|
8 # error Boost.Python - do not include this file!
|
Chris@16
|
9 # endif
|
Chris@16
|
10
|
Chris@16
|
11 # define N BOOST_PP_ITERATION()
|
Chris@16
|
12
|
Chris@16
|
13 # define BOOST_PYTHON_MAKE_TUPLE_ARG(z, N, ignored) \
|
Chris@16
|
14 PyTuple_SET_ITEM( \
|
Chris@16
|
15 result.ptr() \
|
Chris@16
|
16 , N \
|
Chris@16
|
17 , python::incref(python::object(a##N).ptr()) \
|
Chris@16
|
18 );
|
Chris@16
|
19
|
Chris@16
|
20 template <BOOST_PP_ENUM_PARAMS_Z(1, N, class A)>
|
Chris@16
|
21 tuple
|
Chris@16
|
22 make_tuple(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, const& a))
|
Chris@16
|
23 {
|
Chris@16
|
24 tuple result((detail::new_reference)::PyTuple_New(N));
|
Chris@16
|
25 BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_MAKE_TUPLE_ARG, _)
|
Chris@16
|
26 return result;
|
Chris@16
|
27 }
|
Chris@16
|
28
|
Chris@16
|
29 # undef BOOST_PYTHON_MAKE_TUPLE_ARG
|
Chris@16
|
30
|
Chris@16
|
31 # undef N
|
Chris@16
|
32 # endif // BOOST_PYTHON_SYNOPSIS
|