1 // Copyright David Abrahams 2002.
2 // Distributed under the Boost Software License, Version 1.0. (See
3 // accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
5 #ifndef DECREF_GUARD_DWA20021220_HPP
6 # define DECREF_GUARD_DWA20021220_HPP
7 
8 namespace boost { namespace python { namespace detail {
9 
10 struct decref_guard
11 {
decref_guardboost::python::detail::decref_guard12     decref_guard(PyObject* o) : obj(o) {}
~decref_guardboost::python::detail::decref_guard13     ~decref_guard() { Py_XDECREF(obj); }
cancelboost::python::detail::decref_guard14     void cancel() { obj = 0; }
15  private:
16     PyObject* obj;
17 };
18 
19 }}} // namespace boost::python::detail
20 
21 #endif // DECREF_GUARD_DWA20021220_HPP
22