56 DECLARE_EXCEPTION( ExcWrongDefaultJSON, <<
"Consistency Error: Not valid JSON of Default value "
57 << EI_DefaultStr::qval <<
" of type " << EI_TypeName::qval <<
";\n"
58 <<
"During declaration of the key: " << EI_KeyName::qval );
59 DECLARE_EXCEPTION( ExcWrongDefault, <<
"Consistency Error: " << EI_Desc::val <<
"Default value "
60 << EI_DefaultStr::qval <<
" do not match type: " << EI_TypeName::qval <<
";\n"
61 <<
"During declaration of the key: " << EI_KeyName::qval );
62 DECLARE_EXCEPTION( ExcUnknownDescendant, <<
"Unknown descendant of TypeBase class, name: " << EI_TypeName::qval );
96 const static TypeHash none_hash = std::numeric_limits<TypeHash>::max();
122 virtual bool is_finished()
const;
127 virtual bool is_closed()
const;
130 virtual string type_name()
const;
132 virtual string class_name()
const;
164 bool operator!=(
const TypeBase & other)
const;
180 static void delete_unfinished_types();
217 static std::string hash_str(
TypeHash hash);
221 return hash_str(content_hash());
233 return root_of_generic_subtree_;
249 void add_attribute_(std::string name, json_string val);
271 static bool is_valid_identifier(
const string& key);
274 bool validate_json(json_string str)
const;
277 json_string print_parameter_map_to_json(ParameterMap parameter_map)
const;
283 json_string print_parameter_map_keys_to_json(ParameterMap param_map)
const;
289 void set_generic_attributes(ParameterMap param_map);
294 void copy_attributes(attribute_map other_attributes);
351 ArrayData(
unsigned int min_size,
unsigned int max_size);
372 template <
class ValueType>
373 Array(
const ValueType &type,
unsigned int min_size=0,
unsigned int max_size=std::numeric_limits<unsigned int>::max() );
378 Array(std::shared_ptr<TypeBase> type,
unsigned int min_size=0,
unsigned int max_size=std::numeric_limits<unsigned int>::max() );
385 TypeHash content_hash()
const override;
394 bool is_finished()
const override;
398 return *data_->type_of_values_; }
402 return size >=data_->lower_bound_ && size<=data_->upper_bound_; }
409 string type_name()
const override;
411 string class_name()
const override;
424 Array deep_copy()
const;
459 TypeHash content_hash()
const override;
467 string type_name()
const override;
469 string class_name()
const override;
492 Integer(
int lower_bound=std::numeric_limits<int>::min(),
int upper_bound=std::numeric_limits<int>::max());
499 TypeHash content_hash()
const override;
506 bool match(std::int64_t
value)
const;
513 string type_name()
const override;
515 string class_name()
const override;
543 Double(
double lower_bound= -std::numeric_limits<double>::max(),
double upper_bound=std::numeric_limits<double>::max());
550 TypeHash content_hash()
const override;
553 bool match(
double value)
const;
560 string type_name()
const override;
562 string class_name()
const override;
589 virtual string type_name()
const override;
591 string class_name()
const override;
594 TypeHash content_hash()
const override;
598 virtual bool match(
const string &
value)
const;
616 TypeHash content_hash()
const override;
633 string type_name()
const override;
635 string class_name()
const override;
641 bool match(
const string &str)
const override;
662 FileName(enum ::FilePath::FileType type);
FileType
Possible types of file.
static constexpr bool value
bool operator==(const Null &, const Null &)