Flow123d
JS_before_hm-1804-gf2ad740aa
|
Class for declaration of the integral input data. More...
#include <type_base.hh>
Public Member Functions | |
Integer (int lower_bound=std::numeric_limits< int >::min(), int upper_bound=std::numeric_limits< int >::max()) | |
Constructor. More... | |
TypeHash | content_hash () const override |
Implements TypeBase::content_hash . More... | |
bool | match (std::int64_t value) const |
Check valid value of Integer. More... | |
string | type_name () const override |
Implements Type::TypeBase::type_name . More... | |
string | class_name () const override |
Override Type::TypeBase::class_name . More... | |
MakeInstanceReturnType | make_instance (std::vector< ParameterPair > vec=std::vector< ParameterPair >()) override |
Implements TypeBase::make_instance . 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... | |
virtual FinishStatus | finish (FinishStatus finish_type=FinishStatus::regular_) |
Finish method. Finalize construction of "Lazy types": Record, Selection, Abstract and generic type. 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 () const |
Indicates if type is marked with flag root_of_generic_subtree_ . More... | |
Private Attributes | |
std::int64_t | lower_bound_ |
Minimal value of Integer. More... | |
std::int64_t | upper_bound_ |
Maximal value of Integer. More... | |
Friends | |
class | OutputBase |
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 | |
const static 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... | |
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... | |
Class for declaration of the integral input data.
The data are stored in an signed
int
variable. You can specify bounds for the valid input data.
Definition at line 483 of file type_base.hh.
Input::Type::Integer::Integer | ( | int | lower_bound = std::numeric_limits<int>::min() , |
int | upper_bound = std::numeric_limits<int>::max() |
||
) |
Constructor.
You can also specify minimum and maximum value.
Definition at line 430 of file type_base.cc.
|
overridevirtual |
Override Type::TypeBase::class_name
.
Reimplemented from Input::Type::TypeBase.
Definition at line 458 of file type_base.cc.
|
overridevirtual |
Implements TypeBase::content_hash
.
Hash is calculated by type name and bounds.
Implements Input::Type::TypeBase.
Definition at line 436 of file type_base.cc.
|
override |
Implements TypeBase::make_instance
.
Definition at line 463 of file type_base.cc.
bool Input::Type::Integer::match | ( | std::int64_t | value | ) | const |
Check valid value of Integer.
Returns true if the given integer value conforms to the Type::Integer bounds.
Definition at line 447 of file type_base.cc.
|
overridevirtual |
Implements Type::TypeBase::type_name
.
Name has form Integer
.
Reimplemented from Input::Type::TypeBase.
Definition at line 453 of file type_base.cc.
|
friend |
Definition at line 484 of file type_base.hh.
|
private |
Minimal value of Integer.
Definition at line 521 of file type_base.hh.
|
private |
Maximal value of Integer.
Definition at line 522 of file type_base.hh.