Flow123d
release_3.0.0-1113-g35b167a
|
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, int index=-1) 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_tag () const override |
Implements PathBase::get_record_tag . 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 47 of file path_yaml.hh.
typedef YAML::Node Input::PathYAML::Node |
Definition of YAML-cpp node.
Definition at line 50 of file path_yaml.hh.
Input::PathYAML::PathYAML | ( | std::istream & | in | ) |
Constructor.
Definition at line 30 of file path_yaml.cc.
|
override |
|
overridevirtual |
Implements PathBase::clone
.
Implements Input::PathBase.
Definition at line 186 of file path_yaml.cc.
|
overridevirtual |
Dive into yaml-cpp hierarchy.
Implements PathBase::down(unsigned int)
Implements Input::PathBase.
Definition at line 52 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 191 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_array_size
.
Implements Input::PathBase.
Definition at line 168 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_bool_value
.
Implements Input::PathBase.
Definition at line 89 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_double_value
.
Implements Input::PathBase.
Definition at line 117 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_int_value
.
Implements Input::PathBase.
Definition at line 103 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_node_type_index
.
Implements Input::PathBase.
Definition at line 145 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_record_key_set
.
Implements Input::PathBase.
Definition at line 156 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_record_tag
.
Implements Input::PathBase.
Definition at line 198 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::get_string_value
.
Implements Input::PathBase.
Definition at line 131 of file path_yaml.cc.
|
inlineprotected |
Pointer to YAML Value object at current path.
Definition at line 111 of file path_yaml.hh.
|
overridevirtual |
Implements PathBase::is_array_type
.
Implements Input::PathBase.
Definition at line 181 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::is_effectively_null
.
Implements Input::PathBase.
Definition at line 209 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::is_null_type
.
Implements Input::PathBase.
Definition at line 84 of file path_yaml.cc.
|
overridevirtual |
Implements PathBase::is_record_type
.
Implements Input::PathBase.
Definition at line 176 of file path_yaml.cc.
|
inlinevirtual |
Returns level of actual path.
Root has level == 0.
Implements Input::PathBase.
Definition at line 67 of file path_yaml.hh.
|
overridevirtual |
Return one level up in the hierarchy.
Implements Input::PathBase.
Definition at line 76 of file path_yaml.cc.
|
protected |
Definition at line 115 of file path_yaml.hh.