cppyabm  1.0.17
An agent-based library to integrate C++ and Python
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) {
10  class A {
11  public:
12  A(int value) : v{value} {};
13  int v;
14  };
15 
16  py::class_<A>(m, "A")
17  .def(py::init<int>())
18  .def_readwrite("value", &A::v);
19 
20  m.def("internals_at", []() {
21  return reinterpret_cast<uintptr_t>(&py::detail::get_internals());
22  });
23 }
get_internals
PYBIND11_NOINLINE internals & get_internals()
Return a reference to the current internals data.
Definition: internals.h:256
A
Definition: test_numpy_dtypes.cpp:254
PYBIND11_MODULE
PYBIND11_MODULE(external_module, m)
Definition: external_module.cpp:9
pybind11.h
pybind11
Definition: __init__.py:1
test_async.m
m
Definition: test_async.py:5
test_callbacks.value
value
Definition: test_callbacks.py:126