pytorch
1#include <c10/macros/Macros.h>
2#include <torch/csrc/utils/object_ptr.h>
3
4#include <torch/csrc/python_headers.h>
5
6template <>
7void THPPointer<PyObject>::free() {
8if (ptr && C10_LIKELY(Py_IsInitialized()))
9Py_DECREF(ptr);
10}
11
12template class THPPointer<PyObject>;
13
14template <>
15void THPPointer<PyCodeObject>::free() {
16if (ptr && C10_LIKELY(Py_IsInitialized()))
17Py_DECREF(ptr);
18}
19
20template class THPPointer<PyCodeObject>;
21
22template <>
23void THPPointer<PyFrameObject>::free() {
24if (ptr && C10_LIKELY(Py_IsInitialized()))
25Py_DECREF(ptr);
26}
27
28template class THPPointer<PyFrameObject>;
29