12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #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 error_already_set
- {
- virtual ~error_already_set();
- };
- 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;
- }
- BOOST_PYTHON_DECL PyObject* pytype_check(PyTypeObject* pytype, PyObject* source);
- }}
- #endif
|