56 const Json &name =
nullptr)
override;
70 const Json &name =
nullptr)
override;
73 const Str &classname)
override;
This file has a definition of Element class, which is one of the cores of this program.
ShPtr< Element > ElPtr
An alias for a shared pointer of Element class.
virtual ElPtr get_element(const Json &name=nullptr) override
Get a value in generator_dict as a shared pointer of Element class.
std::string Str
Str is an alias for string.
nlohmann::json Json
Json is an alias for nlohmann::json.
Map< Str, ShPtr< Generator > > generator_dict
std::unordered_set< T > Set
Set is an alias for unordered set (same as set in Python).
virtual void accessed_by_instance_of(const Str &classname) override
Set class name of an instance calling Element::check_required_keys.
GenDict is a dictionary (or map) of Generator objects.
virtual ShPtr< Generator > get_generator(const Json &name=nullptr) override
Get a value in generator_dict as a shared pointer of Generator class.
Generator is an abstract class to generate data.
GenDict(const Map< Str, ShPtr< Generator >> &generator_dict_)
Constructor of GenDict class.
std::shared_ptr< T > ShPtr
ShPtr is an alias for shared pointer.
Set< Str > get_keys()
Get a set of the keys of generator_dict.
std::unordered_map< T, U > Map
Map is an alias for unordered map (same as dict in Python).