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

Function wrap

tests/test_potentially_slicing_weak_ptr.cpp:117–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

115
116template <typename VB>
117void wrap(py::module_ &m,
118 const char *roc_pyname,
119 const char *rps_pyname,
120 const char *spo_pyname,
121 const char *wpo_pyname) {
122 m.def(roc_pyname, rtrn_obj_cast_shared_ptr<VB>);
123 m.def(rps_pyname, rtrn_potentially_slicing_shared_ptr<VB>);
124
125 py::classh<SpOwner<VB>>(m, spo_pyname)
126 .def(py::init<>())
127 .def("set_sp", &SpOwner<VB>::set_sp)
128 .def("get_code", &SpOwner<VB>::get_code)
129 .def("get_trampoline_state", &SpOwner<VB>::get_trampoline_state);
130
131 py::classh<WpOwner<VB>>(m, wpo_pyname)
132 .def(py::init<>())
133 .def("set_wp",
134 [](WpOwner<VB> &self, py::handle obj) {
135 self.set_wp(obj.cast<std::shared_ptr<VB>>());
136 })
137 .def("set_wp_potentially_slicing",
138 [](WpOwner<VB> &self, py::handle obj) {
139 self.set_wp(py::potentially_slicing_weak_ptr<VB>(obj));
140 })
141 .def("get_code", &WpOwner<VB>::get_code)
142 .def("get_trampoline_state", &WpOwner<VB>::get_trampoline_state);
143}
144
145} // namespace potentially_slicing_weak_ptr
146} // namespace pybind11_tests

Callers

nothing calls this directly

Calls 1

set_wpMethod · 0.80

Tested by

no test coverage detected