18 #ifndef TYPE_ABSTRACT_HH_ 19 #define TYPE_ABSTRACT_HH_ 74 ChildData(
const string &name,
const string &description);
140 Abstract(
const string & type_name_in,
const string & description);
147 TypeHash content_hash()
const override;
156 Abstract &allow_auto_conversion(
const string &type_default);
166 Abstract &root_of_generic_subtree();
179 const Record &get_descendant(
const string& name)
const;
186 const Record * get_default_descendant()
const;
189 const Selection &get_type_selection()
const;
192 unsigned int child_size()
const;
198 virtual bool is_finished()
const override;
201 virtual bool is_closed()
const override;
208 virtual string type_name()
const override;
210 string class_name()
const override;
217 ChildDataIter begin_child_data()
const;
224 ChildDataIter end_child_data()
const;
234 int add_child(
Record &subrec);
237 Default &get_selection_default()
const;
250 bool have_default_descendant()
const;
280 TypeHash content_hash()
const override;
283 string class_name()
const override;
static constexpr bool value