78 const Json &name =
nullptr) = 0;
81 const Json &name =
nullptr) = 0;
92 const Str &classname) = 0;
Updater is an abstract class to update data held by an Element object.
virtual ShPtr< Element > get_element(const Json &name=nullptr)=0
Get a shared pointer of Element class.
virtual void accessed_by_instance_of(const Str &classname)=0
Set class name of an instance calling Element::check_required_keys.
std::string Str
Str is an alias for string.
std::pair< ShPtr< Element >, ShPtr< Updater > > UpdatePair
UpdatePair is a pair of shared pointer of Element class and Updater class.
nlohmann::json Json
Json is an alias for nlohmann::json.
This file includes nlohmann/json and defines an alias for a JSON class.
void generate_data()
Hello to this Generator object.
void merge_update_chain(const Vec< UpdatePair > &new_chain)
std::vector< T > Vec
Vec is an alias for vector (same as list in Python).
Element inherits Generator class and contains data element (or entity) as a Json object.
This file includes a part of C++ Standard Template Library and defines aliases for them...
void finish_using_generated_data()
Goodbye to this object.
Generator is an abstract class to generate data.
Vec< UpdatePair > update_chain
const Vec< UpdatePair > & get_update_chain()
Get update_chain of this object.
std::shared_ptr< T > ShPtr
ShPtr is an alias for shared pointer.
virtual ShPtr< Generator > get_generator(const Json &name=nullptr)=0
Get a shared pointer of Generator class.
void book_to_generate_data()
Appoint to this Generator object.