Lines Matching refs:Animal
13 struct Animal
27 Animal(const std::string& _name, Kind _kind)
32 struct Dog : Animal
34 Dog(const std::string& _name, Kind _kind = Kind::Dog) : Animal(_name, _kind) {}
52 struct Cat : Animal
54 Cat(const std::string& _name, Kind _kind = Kind::Cat) : Animal(_name, _kind) {}
64 std::vector<std::unique_ptr<Animal>> create_zoo()
66 std::vector<std::unique_ptr<Animal>> ret;
71 // a Dog, not just an Animal.
80 const std::type_info* Animal::type_of_kind(Kind kind)
100 std::string Animal::name_of_kind(Kind kind)
109 struct polymorphic_type_hook<itype, detail::enable_if_t<std::is_base_of<Animal, itype>::value>>
112 { type = src ? Animal::type_of_kind(src->kind) : nullptr; return src; }
117 py::class_<Animal>(m, "Animal")
118 .def_readonly("name", &Animal::name);
119 py::class_<Dog, Animal>(m, "Dog")
129 py::class_<Cat, Animal>(m, "Cat")