make_tuple.hpp

来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 33 行

HPP
33
字号
# ifndef BOOST_PYTHON_SYNOPSIS # // Copyright David Abrahams 2002.# // Distributed under the Boost Software License, Version 1.0. (See# // accompanying file LICENSE_1_0.txt or copy at# // http://www.boost.org/LICENSE_1_0.txt)#  if !defined(BOOST_PP_IS_ITERATING)#   error Boost.Python - do not include this file!#  endif#  define N BOOST_PP_ITERATION()#  define BOOST_PYTHON_MAKE_TUPLE_ARG(z, N, ignored)    \    PyTuple_SET_ITEM(                                   \        result.ptr()                                    \        , N                                             \        , python::incref(python::object(a##N).ptr())    \        );    template <BOOST_PP_ENUM_PARAMS_Z(1, N, class A)>    tuple    make_tuple(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, const& a))    {        tuple result((detail::new_reference)::PyTuple_New(N));        BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_MAKE_TUPLE_ARG, _)        return result;    }#  undef BOOST_PYTHON_MAKE_TUPLE_ARG#  undef N# endif // BOOST_PYTHON_SYNOPSIS 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?