21 lines
		
	
	
		
			567 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			567 B
		
	
	
	
		
			C++
		
	
	
#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, py::mod_gil_not_used()) {
 | 
						|
    class A {
 | 
						|
    public:
 | 
						|
        explicit 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()); });
 | 
						|
}
 |