Flow123d
release_2.2.0-914-gf1a3a4f
|
Creates storage of transposed subtree defined on input. More...
#include <reader_internal_transpose.hh>
Public Member Functions | |
ReaderInternalTranspose () | |
Constructor. More... | |
StorageBase * | read_storage (PathBase &p, const Type::Array *array) |
Create storage of transposed subtree of given Array . More... | |
Public Member Functions inherited from Input::ReaderInternalBase | |
TYPEDEF_ERR_INFO (EI_InputType, string) | |
TYPEDEF_ERR_INFO (EI_File, const string) | |
TYPEDEF_ERR_INFO (EI_Specification, const string) | |
TYPEDEF_ERR_INFO (EI_Format, const string) | |
TYPEDEF_ERR_INFO (EI_JSON_Type, const string) | |
TYPEDEF_ERR_INFO (EI_ErrorAddress, string) | |
TYPEDEF_ERR_INFO (EI_TransposeIndex, unsigned int) | |
TYPEDEF_ERR_INFO (EI_TransposeAddress, string) | |
TYPEDEF_ERR_INFO (EI_JSONLine, unsigned int) | |
TYPEDEF_ERR_INFO (EI_JSONColumn, unsigned int) | |
TYPEDEF_ERR_INFO (EI_JSONReason, string) | |
TYPEDEF_ERR_INFO (EI_InputErrorMessage, const string) | |
TYPEDEF_ERR_INFO (EI_RecordName, const string) | |
TYPEDEF_ERR_INFO (EI_Tag, string) | |
TYPEDEF_ERR_INFO (EI_TokenizerMsg, std::string) | |
TYPEDEF_ERR_INFO (EI_ColumnIndex, unsigned int) | |
DECLARE_INPUT_EXCEPTION (ExcInputError,<< "Error in input file: "<< EI_File::qval<< " at address: "<< EI_ErrorAddress::qval<< "\n"<< EI_Specification::val<< "\n"<< EI_Format::val<< " type: "<< EI_JSON_Type::qval<< "\n"<< "Expected type:\n"<< EI_InputType::val) | |
General exception during conversion from JSON/YAML tree to storage. More... | |
DECLARE_INPUT_EXCEPTION (ExcNotJSONFormat,<< "Not valid JSON file "<< EI_File::qval<< ". Error at line "<< EI_JSONLine::val<< " : col "<< EI_JSONColumn::val<< " ; reason: "<< EI_JSONReason::val<< "\n") | |
DECLARE_INPUT_EXCEPTION (ExcAutomaticConversionError,<< "Error during automatic conversion of "<< EI_RecordName::val<< " record.\n "<< EI_InputErrorMessage::val<< "\n") | |
DECLARE_INPUT_EXCEPTION (ExcForbiddenTag,<< "Tag "<< EI_Tag::qval<< " "<< EI_Specification::val<< "\n") | |
DECLARE_INPUT_EXCEPTION (ExcWrongCsvFormat,<< EI_Specification::val<< ",\n"<< EI_TokenizerMsg::val<< "\n") | |
DECLARE_INPUT_EXCEPTION (ExcMultipleDefinitionCsvColumn,<< "Multiple definition of column with index "<< EI_ColumnIndex::qval<< " in included CSV file:\n"<< EI_File::val<< ",\n") | |
ReaderInternalBase () | |
Constructor. More... | |
Protected Member Functions | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Array *array) override |
Create storage of Type::Array type. More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Selection *selection) override |
Create storage of Type::Selection type. More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Bool *bool_type) override |
Create storage of Type::Bool type. More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Integer *int_type) override |
Create storage of Type::Integer type. More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Double *double_type) override |
Create storage of Type::Double type. More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::String *string_type) override |
Create storage of Type::String type. More... | |
StorageBase * | make_transposed_storage (PathBase &p, const Type::TypeBase *type) |
Apply transposition and create storage of Type::Array type. More... | |
StorageBase * | make_autoconversion_array_storage (PathBase &p, const Type::Array *array, StorageBase *item) |
Apply conversion to one element storage of Type::Array type. More... | |
Protected Member Functions inherited from Input::ReaderInternalBase | |
StorageBase * | make_storage (PathBase &p, const Type::TypeBase *type) |
Create storage of given type . More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Record *record) |
Create storage of Type::Record type. Common method of all descendants. More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Tuple *tuple) |
Create storage of Type::Tuple type. Common method of all descendants. More... | |
StorageBase * | make_sub_storage (PathBase &p, const Type::Abstract *abstr_rec) |
Create storage of Type::Abstract type. Common method of all descendants. More... | |
StorageBase * | record_automatic_conversion (PathBase &p, const Type::Record *record) |
Apply automatic conversion of Type::Record type. More... | |
StorageBase * | abstract_automatic_conversion (PathBase &p, const Type::Abstract *abstr_rec) |
Apply automatic conversion of Type::Abstract type. More... | |
StorageBase * | make_array_storage (PathBase &p, const Type::Array *array, int arr_size) |
Create storage of Type::Array with given size. More... | |
StorageBase * | make_storage_from_default (const string &dflt_str, std::shared_ptr< Type::TypeBase > type) |
Dispatch according to type and create corresponding storage from the given string. More... | |
StorageBase * | make_include_storage (PathBase &p, const Type::TypeBase *type) |
Create storage of included YAML or JSON input file. More... | |
bool | read_bool_value (PathBase &p, const Type::TypeBase *type) |
Read boolean value from path. More... | |
std::int64_t | read_int_value (PathBase &p, const Type::TypeBase *type) |
Read integer value from path. More... | |
double | read_double_value (PathBase &p, const Type::TypeBase *type) |
Read double value from path. More... | |
std::string | read_string_value (PathBase &p, const Type::TypeBase *type) |
Read string value from path. More... | |
std::string | get_included_file (PathBase &p) |
Helper method. Get string value of included file or throw exception if reading failed. More... | |
void | generate_input_error (PathBase &p, const Type::TypeBase *type, std::string spec, bool add_type) |
Generate ExcInputError . More... | |
void | complete_input_error (ExcInputError &e, PathBase &p, ValueTypes value_type) |
Complete specification, error address and JSON type error tags to ExcInputError . More... | |
Protected Attributes | |
unsigned int | transpose_index_ |
Index of processed item in transposed part of input tree. More... | |
vector< unsigned int > | transpose_array_sizes_ |
Helper vector what allows check sizes of all transposed Arrays. More... | |
Creates storage of transposed subtree defined on input.
We use this class if input tree contains another type at position where Array is expected. This type must correspond with type_of_value of Array.
Definition at line 41 of file reader_internal_transpose.hh.
Input::ReaderInternalTranspose::ReaderInternalTranspose | ( | ) |
Constructor.
Definition at line 31 of file reader_internal_transpose.cc.
|
protected |
Apply conversion to one element storage of Type::Array type.
Definition at line 198 of file reader_internal_transpose.cc.
|
overrideprotectedvirtual |
Create storage of Type::Array type.
Implements Input::ReaderInternalBase.
Definition at line 94 of file reader_internal_transpose.cc.
|
overrideprotectedvirtual |
Create storage of Type::Selection type.
Implements Input::ReaderInternalBase.
Definition at line 108 of file reader_internal_transpose.cc.
|
overrideprotectedvirtual |
Create storage of Type::Bool type.
Implements Input::ReaderInternalBase.
Definition at line 126 of file reader_internal_transpose.cc.
|
overrideprotectedvirtual |
Create storage of Type::Integer type.
Implements Input::ReaderInternalBase.
Definition at line 136 of file reader_internal_transpose.cc.
|
overrideprotectedvirtual |
Create storage of Type::Double type.
Implements Input::ReaderInternalBase.
Definition at line 153 of file reader_internal_transpose.cc.
|
overrideprotectedvirtual |
Create storage of Type::String type.
Implements Input::ReaderInternalBase.
Definition at line 171 of file reader_internal_transpose.cc.
|
protected |
Apply transposition and create storage of Type::Array type.
Definition at line 181 of file reader_internal_transpose.cc.
StorageBase * Input::ReaderInternalTranspose::read_storage | ( | PathBase & | p, |
const Type::Array * | array | ||
) |
Create storage of transposed subtree of given Array
.
Processing of subtree with transposition:
transpose_index_
to value '0' (transposition of first Array item).transpose_index_
.transpose_array_sizes_
.transpose_index_
). Definition at line 35 of file reader_internal_transpose.cc.
|
protected |
Helper vector what allows check sizes of all transposed Arrays.
Definition at line 84 of file reader_internal_transpose.hh.
|
protected |
Index of processed item in transposed part of input tree.
Definition at line 81 of file reader_internal_transpose.hh.