Flow123d
release_3.0.0-899-g9314a17
|
Class for representing parametric types in IST. More...
#include <type_generic.hh>
Public Member Functions | |
Parameter (const string ¶meter_name) | |
Constructor. More... | |
Parameter (const Parameter &other) | |
Copy constructor. More... | |
string | type_name () const override |
Implements Type::TypeBase::type_name . More... | |
string | class_name () const override |
Override Type::TypeBase::class_name . More... | |
TypeHash | content_hash () const override |
Implements TypeBase::content_hash . More... | |
MakeInstanceReturnType | make_instance (std::vector< ParameterPair > vec=std::vector< ParameterPair >()) override |
Implements TypeBase::make_instance . More... | |
FinishStatus | finish (FinishStatus finish_type=FinishStatus::regular_) override |
Implements TypeBase::finish . More... | |
Public Member Functions inherited from Input::Type::TypeBase | |
virtual FinishStatus | finish_status () const |
Returns true if the type is fully specified and ready for read access. More... | |
virtual bool | is_finished () const |
virtual bool | is_closed () const |
Returns true if the type is closed. More... | |
string | desc () const |
Returns string with Type extensive documentation. More... | |
virtual bool | operator== (const TypeBase &other) const |
Comparison of types. More... | |
bool | operator!= (const TypeBase &other) const |
Comparison of types. More... | |
virtual | ~TypeBase () |
Destructor. More... | |
std::string | hash_str () const |
Format the hash of this type. More... | |
virtual MakeInstanceReturnType | make_instance (ParameterVector vec=ParameterVector())=0 |
bool | is_root_of_generic_subtree () |
Indicates if type is marked with flag root_of_generic_subtree_ . More... | |
Protected Attributes | |
const string | name_ |
name of parameter More... | |
Protected Attributes inherited from Input::Type::TypeBase | |
std::shared_ptr< attribute_map > | attributes_ |
map of type attributes (e. g. input_type, name etc.) More... | |
bool | root_of_generic_subtree_ |
flag is true if type should be root of generic subtree More... | |
TypeHash | generic_type_hash_ |
hash string of generic type if type is derived, or empty string More... | |
ParameterMap | parameter_map_ |
map of parameters if type is part of generic subtree More... | |
Additional Inherited Members | |
Public Types inherited from Input::Type::TypeBase | |
typedef std::size_t | TypeHash |
Type returned by content_hash methods. More... | |
typedef std::string | json_string |
String stored in JSON format. More... | |
typedef std::map< std::string, json_string > | attribute_map |
Defines map of Input::Type attributes. More... | |
typedef std::pair< std::string, std::shared_ptr< TypeBase > > | ParameterPair |
Defines pairs of (name, Input::Type), that are used for replace of parameters in generic types. More... | |
typedef std::vector< ParameterPair > | ParameterVector |
Define vector of parameters passed to the overloaded make_instance method. More... | |
typedef std::map< std::string, TypeHash > | ParameterMap |
Defines map of used parameters. More... | |
typedef std::pair< std::shared_ptr< TypeBase >, ParameterMap > | MakeInstanceReturnType |
Return type of make_instance methods, contains instance of generic type and map of used parameters. More... | |
Static Public Member Functions inherited from Input::Type::TypeBase | |
static void | delete_unfinished_types () |
Finishes and marks all types registered in type repositories and unused in IST. More... | |
static std::string | hash_str (TypeHash hash) |
Format given hash for output. More... | |
Static Public Attributes inherited from Input::Type::TypeBase | |
static const TypeHash | none_hash = std::numeric_limits<TypeHash>::max() |
Protected Types inherited from Input::Type::TypeBase | |
typedef string | KeyHash |
The type of hash values used in associative array that translates key names to indices in Record and Selection. More... | |
Protected Member Functions inherited from Input::Type::TypeBase | |
TypeBase () | |
The default constructor. More... | |
TypeBase (const TypeBase &other) | |
Copy constructor. More... | |
void | add_attribute_ (std::string name, json_string val) |
Add attribute of given name to attribute map. More... | |
bool | validate_json (json_string str) const |
Check if str is valid JSON string. More... | |
json_string | print_parameter_map_to_json (ParameterMap parameter_map) const |
Create JSON output from parameter_map formatted as value of attribute. More... | |
json_string | print_parameter_map_keys_to_json (ParameterMap param_map) const |
void | set_generic_attributes (ParameterMap param_map) |
void | copy_attributes (attribute_map other_attributes) |
Static Protected Member Functions inherited from Input::Type::TypeBase | |
static KeyHash | key_hash (const string &str) |
Hash function. More... | |
static bool | is_valid_identifier (const string &key) |
Check that a key is valid identifier. More... | |
Class for representing parametric types in IST.
Instances of this class are used only in generic types and during generation of Record are replaced by types of IST (Integer, String, Selection etc.)
Definition at line 53 of file type_generic.hh.
Input::Type::Parameter::Parameter | ( | const string & | parameter_name | ) |
Constructor.
Definition at line 36 of file type_generic.cc.
Input::Type::Parameter::Parameter | ( | const Parameter & | other | ) |
Copy constructor.
Definition at line 40 of file type_generic.cc.
|
overridevirtual |
Override Type::TypeBase::class_name
.
Reimplemented from Input::Type::TypeBase.
Definition at line 49 of file type_generic.cc.
|
overridevirtual |
Implements TypeBase::content_hash
.
Implements Input::Type::TypeBase.
Definition at line 54 of file type_generic.cc.
|
overridevirtual |
Implements TypeBase::finish
.
Reimplemented from Input::Type::TypeBase.
Definition at line 79 of file type_generic.cc.
|
override |
Implements TypeBase::make_instance
.
Definition at line 63 of file type_generic.cc.
|
overridevirtual |
Implements Type::TypeBase::type_name
.
Parameter type name getter.
Reimplemented from Input::Type::TypeBase.
Definition at line 44 of file type_generic.cc.
|
protected |
name of parameter
Definition at line 81 of file type_generic.hh.