📄 errors.hpp
字号:
// (C) Copyright David Abrahams 2000.// 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)//// The author gratefully acknowleges the support of Dragon Systems, Inc., in// producing this work.#ifndef ERRORS_DWA052500_H_# define ERRORS_DWA052500_H_# include <boost/python/detail/prefix.hpp># include <boost/function/function0.hpp>namespace boost { namespace python {struct BOOST_PYTHON_DECL_EXCEPTION error_already_set{ virtual ~error_already_set();};// Handles exceptions caught just before returning to Python code.// Returns true iff an exception was caught.BOOST_PYTHON_DECL bool handle_exception_impl(function0<void>);template <class T>bool handle_exception(T f){ return handle_exception_impl(function0<void>(boost::ref(f)));}namespace detail { inline void rethrow() { throw; } }inline void handle_exception(){ handle_exception(detail::rethrow);}BOOST_PYTHON_DECL void throw_error_already_set();template <class T>inline T* expect_non_null(T* x){ if (x == 0) throw_error_already_set(); return x;}// Return source if it is an instance of pytype; throw an appropriate// exception otherwise.BOOST_PYTHON_DECL PyObject* pytype_check(PyTypeObject* pytype, PyObject* source);}} // namespace boost::python#endif // ERRORS_DWA052500_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -