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