24 #ifndef LSST_LOG_PYOBJECTPTR_H
25 #define LSST_LOG_PYOBJECTPTR_H
32 namespace lsst::log::detail {
51 explicit PyObjectPtr(PyObject*
object =
nullptr) : m_object(object) {}
60 other.m_object =
nullptr;
68 m_object = other.m_object;
75 m_object = other.m_object;
76 other.m_object =
nullptr;
88 operator PyObject*()
const {
return m_object; }
92 auto object = m_object;
99 PyObject*& get() {
return m_object; }
102 bool operator==(nullptr_t)
const {
return m_object ==
nullptr; }
103 bool operator!=(nullptr_t)
const {
return m_object !=
nullptr; }
107 PyObject* m_object =
nullptr;
Definition: PyObjectPtr.h:37
static PyObjectPtr from_borrowed(PyObject *object)
Definition: PyObjectPtr.h:43
PyObjectPtr(PyObject *object=nullptr)
Definition: PyObjectPtr.h:51