external_module.cpp
Go to the documentation of this file.
1 #include <pybind11/pybind11.h>
2 
3 namespace py = pybind11;
4 
5 /* Simple test module/test class to check that the referenced internals data of external pybind11
6  * modules aren't preserved over a finalize/initialize.
7  */
8 
9 PYBIND11_MODULE(external_module, m, py::mod_gil_not_used()) {
10  class A {
11  public:
12  explicit A(int value) : v{value} {};
13  int v;
14  };
15 
16  py::class_<A>(m, "A").def(py::init<int>()).def_readwrite("value", &A::v);
17 
18  m.def("internals_at",
19  []() { return reinterpret_cast<uintptr_t>(&py::detail::get_internals()); });
20 }
get_internals
PYBIND11_NOINLINE internals & get_internals()
Return a reference to the current internals data.
Definition: internals.h:483
PYBIND11_MODULE
PYBIND11_MODULE(external_module, m, py::mod_gil_not_used())
Definition: external_module.cpp:9
A
Definition: test_numpy_dtypes.cpp:298
m
Matrix3f m
Definition: AngleAxis_mimic_euler.cpp:1
E1::A
@ A
pybind11.h
v
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
pybind11
Definition: wrap/pybind11/pybind11/__init__.py:1
test_callbacks.value
value
Definition: test_callbacks.py:160
uintptr_t
_W64 unsigned int uintptr_t
Definition: ms_stdint.h:124


gtsam
Author(s):
autogenerated on Fri Nov 1 2024 03:32:31