Lines Matching defs:TestFactory6
69 class TestFactory6 {
74 TestFactory6(int i) : value{i} { print_created(this, i); }
75 TestFactory6(TestFactory6 &&f) { print_move_created(this); value = f.value; alias = f.alias; }
76 TestFactory6(const TestFactory6 &f) { print_copy_created(this); value = f.value; alias = f.alias; }
77 virtual ~TestFactory6() { print_destroyed(this); }
81 class PyTF6 : public TestFactory6 {
83 // Special constructor that allows the factory to construct a PyTF6 from a TestFactory6 only
85 PyTF6(TestFactory6 &&base) : TestFactory6(std::move(base)) { alias = true; print_created(this, "move", value); }
86 PyTF6(int i) : TestFactory6(i) { alias = true; print_created(this, i); }
87 PyTF6(PyTF6 &&f) : TestFactory6(std::move(f)) { print_move_created(this); }
88 PyTF6(const PyTF6 &f) : TestFactory6(f) { print_copy_created(this); }
89 PyTF6(std::string s) : TestFactory6((int) s.size()) { alias = true; print_created(this, s); }
91 int get() override { PYBIND11_OVERLOAD(int, TestFactory6, get, /*no args*/); }
211 py::class_<TestFactory6, PyTF6>(m, "TestFactory6")
212 .def(py::init([](base_tag, int i) { return TestFactory6(i); }))
216 .def(py::init([](base_tag, pointer_tag, int i) { return new TestFactory6(i); }))
217 .def(py::init([](base_tag, alias_tag, pointer_tag, int i) { return (TestFactory6 *) new PyTF6(i); }))
219 .def("get", &TestFactory6::get)
220 .def("has_alias", &TestFactory6::has_alias)
222 .def_static("get_cstats", &ConstructorStats::get<TestFactory6>, py::return_value_policy::reference)