1*5d8eedeeSAntónio Afonso #ifndef LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H
2*5d8eedeeSAntónio Afonso #define LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H
3*5d8eedeeSAntónio Afonso 
4*5d8eedeeSAntónio Afonso // Defined here instead of a .swig file because SWIG 2 doesn't support
5*5d8eedeeSAntónio Afonso // explicit deleted functions.
6*5d8eedeeSAntónio Afonso struct Py_buffer_RAII {
7*5d8eedeeSAntónio Afonso   Py_buffer buffer = {};
Py_buffer_RAIIPy_buffer_RAII8*5d8eedeeSAntónio Afonso   Py_buffer_RAII(){};
9*5d8eedeeSAntónio Afonso   Py_buffer &operator=(const Py_buffer_RAII &) = delete;
10*5d8eedeeSAntónio Afonso   Py_buffer_RAII(const Py_buffer_RAII &) = delete;
~Py_buffer_RAIIPy_buffer_RAII11*5d8eedeeSAntónio Afonso   ~Py_buffer_RAII() {
12*5d8eedeeSAntónio Afonso     if (buffer.obj)
13*5d8eedeeSAntónio Afonso       PyBuffer_Release(&buffer);
14*5d8eedeeSAntónio Afonso   }
15*5d8eedeeSAntónio Afonso };
16*5d8eedeeSAntónio Afonso 
17*5d8eedeeSAntónio Afonso #endif // LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H
18