Flow123d
release_2.1.0-87-gfbc1563
|
Class used by ReaderToStorage class to iterate over the YAML tree provided by yaml-cpp library. More...
#include <path_yaml.hh>
Public Types | |
typedef YAML::Node | Node |
Definition of YAML-cpp node. More... | |
Public Member Functions | |
PathYAML (std::istream &in) | |
Constructor. More... | |
~PathYAML () override | |
Destructor. More... | |
int | level () const |
Returns level of actual path. More... | |
bool | down (unsigned int index) override |
Dive into yaml-cpp hierarchy. More... | |
bool | down (const std::string &key) override |
Dive into yaml-cpp hierarchy. More... | |
void | up () override |
Return one level up in the hierarchy. More... | |
bool | is_null_type () const override |
Implements PathBase::is_null_type . More... | |
bool | get_bool_value () const override |
Implements PathBase::get_bool_value . More... | |
std::int64_t | get_int_value () const override |
Implements PathBase::get_int_value . More... | |
double | get_double_value () const override |
Implements PathBase::get_double_value . More... | |
std::string | get_string_value () const override |
Implements PathBase::get_string_value . More... | |
unsigned int | get_node_type_index () const override |
Implements PathBase::get_node_type_index . More... | |
bool | get_record_key_set (std::set< std::string > &) const override |
Implements PathBase::get_record_key_set . More... | |
bool | is_effectively_null () const override |
Implements PathBase::is_effectively_null . More... | |
int | get_array_size () const override |
Implements PathBase::get_array_size . More... | |
bool | is_record_type () const override |
Implements PathBase::is_record_type . More... | |
bool | is_array_type () const override |
Implements PathBase::is_array_type . More... | |
PathYAML * | clone () const override |
Implements PathBase::clone . More... | |
PathBase * | find_ref_node () override |
Implements reading of reference keys, and check of cyclic references. More... | |
std::string | get_record_name () const override |
Implements PathBase::get_record_name . More... | |
Public Member Functions inherited from Input::PathBase | |
TYPEDEF_ERR_INFO (EI_ErrorAddress, std::string) | |
TYPEDEF_ERR_INFO (EI_RefAddress, std::string) | |
TYPEDEF_ERR_INFO (EI_JsonFile, std::string) | |
TYPEDEF_ERR_INFO (EI_RefStr, std::string) | |
TYPEDEF_ERR_INFO (EI_Specification, std::string) | |
DECLARE_INPUT_EXCEPTION (ExcRefOfWrongType,<< "Reference at address "<< EI_ErrorAddress::qval<< " has wrong type, should by string.") | |
DECLARE_INPUT_EXCEPTION (ExcReferenceNotFound,<< "Error in input file: "<< EI_JsonFile::qval<< "\nReference {REF=\""<< EI_RefStr::val<< "\"} at address "<< EI_RefAddress::qval<< " not found.\n"<< "failed to follow at address: "<< EI_ErrorAddress::qval<< " because "<< EI_Specification::val) | |
virtual | ~PathBase () |
Must have virtual destructor to call the right one form child. More... | |
void | output (std::ostream &stream) const |
Output to the given stream. More... | |
std::string | get_node_type (unsigned int type_idx) const |
Get short string description of node type, method is used for printout of messages. More... | |
void | go_to_root () |
Move to root node. More... | |
std::string | as_string () const |
Returns string address of current position. More... | |
Protected Member Functions | |
const Node & | head () const |
Pointer to YAML Value object at current path. More... | |
Protected Member Functions inherited from Input::PathBase | |
PathBase () | |
Forbid default constructor. More... | |
Protected Attributes | |
std::vector< Node > | nodes_ |
Protected Attributes inherited from Input::PathBase | |
std::vector< std::pair< int, std::string > > | path_ |
One level of the path_ is either index (nonnegative int) in array or string key in a json object. More... | |
std::vector< std::string > | json_type_names |
Names of all possible node types in parsed input tree. More... | |
Class used by ReaderToStorage class to iterate over the YAML tree provided by yaml-cpp library.
This class keeps whole path from the root of the YAML tree to the current node. We store nodes along path in nodes_
and address of the node in path_
.
The class also contains methods for processing of special tags for 'TYPE' key. Class doesn't need special methods for work with references. YAML tree used own native references.
Definition at line 39 of file path_yaml.hh.
typedef YAML::Node Input::PathYAML::Node |
Definition of YAML-cpp node.
Definition at line 42 of file path_yaml.hh.
Input::PathYAML::PathYAML | ( | std::istream & | in | ) |
Constructor.
Definition at line 29 of file path_yaml.cc.
|
override |
|
overridevirtual |
Implements PathBase::clone
.
Implements Input::PathBase.
Definition at line 185 of file path_yaml.cc.
|
overridevirtual |
Dive into yaml-cpp hierarchy.
Implements PathBase::down(unsigned int)
Implements Input::PathBase.
Definition at line 51 of file path_yaml.cc.
|
overridevirtual |
Dive into yaml-cpp hierarchy.
Implements PathBase::down(const std::string&)
Implements Input::PathBase.
|
overridevirtual |
Implements reading of reference keys, and check of cyclic references.
Implements Input::PathBase.
Definition at line 190 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_array_size
.
Implements Input::PathBase.
Definition at line 167 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_bool_value
.
Implements Input::PathBase.
Definition at line 88 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_double_value
.
Implements Input::PathBase.
Definition at line 116 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_int_value
.
Implements Input::PathBase.
Definition at line 102 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_node_type_index
.
Implements Input::PathBase.
Definition at line 144 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_record_key_set
.
Implements Input::PathBase.
Definition at line 155 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_record_name
.
Implements Input::PathBase.
Definition at line 197 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_string_value
.
Implements Input::PathBase.
Definition at line 130 of file path_yaml.cc.
|
inlineprotected |
Pointer to YAML Value object at current path.
Definition at line 103 of file path_yaml.hh.
|
overridevirtual |
Implements PathBase::is_array_type
.
Implements Input::PathBase.
Definition at line 180 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::is_effectively_null
.
Implements Input::PathBase.
Definition at line 208 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::is_null_type
.
Implements Input::PathBase.
Definition at line 83 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::is_record_type
.
Implements Input::PathBase.
Definition at line 175 of file path_yaml.cc.
|
inlinevirtual |
Returns level of actual path.
Root has level == 0.
Implements Input::PathBase.
Definition at line 59 of file path_yaml.hh.
|
overridevirtual |
Return one level up in the hierarchy.
Implements Input::PathBase.
Definition at line 75 of file path_yaml.cc.
|
protected |
Definition at line 107 of file path_yaml.hh.