Lines Matching refs:ref
18 // Make pybind aware of the ref-counted wrapper type (s):
20 // ref<T> is a wrapper for 'Object' which uses intrusive reference counting
21 // It is always possible to construct a ref<T> from an Object* pointer without
23 PYBIND11_DECLARE_HOLDER_TYPE(T, ref<T>, true);
27 struct holder_helper<ref<T>> {
28 static const T *get(const ref<T> &p) { return p.get_ptr(); }
93 py::class_<Object, ref<Object>> obj(m, "Object");
106 py::class_<MyObject1, ref<MyObject1>>(m, "MyObject1", obj)
111 m.def("make_object_2", []() -> ref<Object> { return new MyObject1(2); });
113 m.def("make_myobject1_2", []() -> ref<MyObject1> { return new MyObject1(5); });
115 m.def("print_object_2", [](ref<Object> obj) { py::print(obj->toString()); });
116 m.def("print_object_3", [](const ref<Object> &obj) { py::print(obj->toString()); });
117 m.def("print_object_4", [](const ref<Object> *obj) { py::print((*obj)->toString()); });
119 m.def("print_myobject1_2", [](ref<MyObject1> obj) { py::print(obj->toString()); });
120 m.def("print_myobject1_3", [](const ref<MyObject1> &obj) { py::print(obj->toString()); });
121 m.def("print_myobject1_4", [](const ref<MyObject1> *obj) { py::print((*obj)->toString()); });
123 // Expose constructor stats for the ref type
167 ref<MyObject1> o = new MyObject1(0);
242 .def_readonly("ref", &SharedPtrRef::value)
268 .def_property_readonly("ref", [](const SharedFromThisRef &s) -> const B & { return *s.shared; })