38 return this->make_storage(p, type);
45 return this->make_array_storage(p, array, arr_size);
47 return make_include_storage(p, array);
59 string item_name = read_string_value(p, selection);
63 }
catch (Type::Selection::ExcSelectionKeyNotFound &exc) {
64 this->generate_input_error(p, selection,
"Wrong value '" + item_name +
"' of the Selection.",
false);
72 return new StorageBool( read_bool_value(p, bool_type) );
77 std::int64_t
value = read_int_value(p, int_type);
79 if ( int_type->
match(value) )
83 this->generate_input_error(p, int_type,
"Value out of bounds.",
false);
90 double value = read_double_value(p, double_type);
92 if (double_type->
match(value)) {
95 this->generate_input_error(p, double_type,
"Value out of bounds.",
false);
103 string value = read_string_value(p, string_type);
105 if (string_type->
match(value))
108 THROW( ExcInputError() << EI_Specification(
"Output file can not be given by absolute path: '" + value +
"'")
109 << EI_ErrorAddress(p.
as_string()) << EI_JSON_Type(
"") << EI_InputType(string_type->
desc()) );
static constexpr bool value
#define THROW(whole_exception_expr)
Wrapper for throw. Saves the throwing point.