knx/examples/knxPython/pybind11/tests/test_embed/external_module.cpp
Thomas Kunze 1f406abbd4 astyle
2024-09-14 11:55:51 +02:00

26 lines
599 B
C++

#include <pybind11/pybind11.h>
namespace py = pybind11;
/* Simple test module/test class to check that the referenced internals data of external pybind11
* modules aren't preserved over a finalize/initialize.
*/
PYBIND11_MODULE(external_module, m, py::mod_gil_not_used())
{
class A
{
public:
explicit A(int value) : v{value} {};
int v;
};
py::class_<A>(m, "A").def(py::init<int>()).def_readwrite("value", &A::v);
m.def("internals_at",
[]()
{
return reinterpret_cast<uintptr_t>(&py::detail::get_internals());
});
}