MCPcopy Create free account
hub / github.com/pybind/pybind11 / TEST_SUBMODULE

Function TEST_SUBMODULE

tests/test_class_sh_inheritance.cpp:60–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58// clang-format on
59
60TEST_SUBMODULE(class_sh_inheritance, m) {
61 py::classh<base>(m, "base");
62 py::classh<drvd, base>(m, "drvd");
63
64 auto rvto = py::return_value_policy::take_ownership;
65
66 m.def("rtrn_mptr_drvd", rtrn_mptr_drvd, rvto);
67 m.def("rtrn_mptr_drvd_up_cast", rtrn_mptr_drvd_up_cast, rvto);
68 m.def("pass_cptr_base", pass_cptr_base);
69 m.def("pass_cptr_drvd", pass_cptr_drvd);
70
71 m.def("rtrn_shmp_drvd", rtrn_shmp_drvd);
72 m.def("rtrn_shmp_drvd_up_cast", rtrn_shmp_drvd_up_cast);
73 m.def("pass_shcp_base", pass_shcp_base);
74 m.def("pass_shcp_drvd", pass_shcp_drvd);
75
76 // __init__ needed for Python inheritance.
77 py::classh<base1>(m, "base1").def(py::init<>());
78 py::classh<base2>(m, "base2").def(py::init<>());
79 py::classh<drvd2, base1, base2>(m, "drvd2");
80
81 m.def("rtrn_mptr_drvd2", rtrn_mptr_drvd2, rvto);
82 m.def("rtrn_mptr_drvd2_up_cast1", rtrn_mptr_drvd2_up_cast1, rvto);
83 m.def("rtrn_mptr_drvd2_up_cast2", rtrn_mptr_drvd2_up_cast2, rvto);
84 m.def("pass_cptr_base1", pass_cptr_base1);
85 m.def("pass_cptr_base2", pass_cptr_base2);
86 m.def("pass_cptr_drvd2", pass_cptr_drvd2);
87}
88
89} // namespace class_sh_inheritance
90} // namespace pybind11_tests

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected