diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2022-09-17 10:02:06 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2022-09-17 10:02:06 +0300 |
commit | 28dcdc0d65fba31bc1e2215741a4af228992938e (patch) | |
tree | 41862decccd7e31588bbf3b271f58c9624730512 /contrib/restricted/boost/python/src/object/iterator.cpp | |
parent | 6d2819377bd78f50c415e809c9f0feae0d79fe9f (diff) | |
download | ydb-28dcdc0d65fba31bc1e2215741a4af228992938e.tar.gz |
Update contrib/python/boto3/py3 to 1.24.75
Diffstat (limited to 'contrib/restricted/boost/python/src/object/iterator.cpp')
-rw-r--r-- | contrib/restricted/boost/python/src/object/iterator.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/restricted/boost/python/src/object/iterator.cpp b/contrib/restricted/boost/python/src/object/iterator.cpp new file mode 100644 index 0000000000..3f6c4adacd --- /dev/null +++ b/contrib/restricted/boost/python/src/object/iterator.cpp @@ -0,0 +1,39 @@ +// 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) + +#include <boost/python/object/iterator_core.hpp> +#include <boost/python/object/function_object.hpp> +#include <boost/bind.hpp> +#include <boost/mpl/vector/vector10.hpp> + +namespace boost { namespace python { namespace objects { + +namespace +{ + PyObject* identity(PyObject* args_, PyObject*) + { + PyObject* x = PyTuple_GET_ITEM(args_,0); + Py_INCREF(x); + return x; + } +} + +BOOST_PYTHON_DECL object const& identity_function() +{ + static object result( + function_object( + py_function(&identity, mpl::vector2<PyObject*,PyObject*>()) + ) + ); + return result; +} + +void stop_iteration_error() +{ + PyErr_SetObject(PyExc_StopIteration, Py_None); + throw_error_already_set(); +} + +}}} // namespace boost::python::objects |