18 #ifndef TYPE_ABSTRACT_HH_ 19 #define TYPE_ABSTRACT_HH_ 66 ChildData(
const string &name,
const string &description)
139 Abstract(
const string & type_name_in,
const string & description);
176 bool finish(
bool is_generic =
false)
override;
205 virtual string type_name()
const override;
234 static const Input::Type::Abstract & get_input_type();
238 class SomeDescendant : public SomeBase
242 static const Input::Type::Record & get_input_type();
246 static const int reg;
250 const int SomeDescendant::reg =
251 Input::register_class< SomeDescendant >("SomeDescendant") +
252 SomeBase::get_input_type().add_child(SomeDescendant::get_input_type());
304 string class_name()
const override {
return "AdHocAbstract"; }
313 bool finish(
bool is_generic =
false)
override;