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
}