24 lines
		
	
	
		
			563 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			563 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) {
 | 
						|
    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());
 | 
						|
    });
 | 
						|
}
 |