diff options
Diffstat (limited to '3rdparty/pybind11/tests/test_embed/external_module.cpp')
-rw-r--r-- | 3rdparty/pybind11/tests/test_embed/external_module.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/3rdparty/pybind11/tests/test_embed/external_module.cpp b/3rdparty/pybind11/tests/test_embed/external_module.cpp new file mode 100644 index 00000000..e9a6058b --- /dev/null +++ b/3rdparty/pybind11/tests/test_embed/external_module.cpp @@ -0,0 +1,23 @@ +#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) { + class A { + public: + 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()); + }); +} |