Flow123d
DF_profiler_memory_monitor-83fd579
|
#include <accessors.hh>
Classes | |
struct | AddressData |
Public Member Functions | |
Address () | |
Address (const StorageBase *storage_root, const Type::TypeBase *type_root) | |
Address (const Address &other) | |
std::shared_ptr< Address > | down (unsigned int idx) const |
const StorageBase * | storage_head () const |
std::string | make_full_address () const |
Protected Attributes | |
std::shared_ptr< AddressData > | data_ |
Class for storing and formating input address of an accessor (necessary for input errors detected after readed).
To get full path of an accessor we need:
TODO:
Definition at line 165 of file accessors.hh.
Input::Address::Address | ( | ) |
Empty constructor.
Constructor should be called only by empty accessors.
Definition at line 54 of file accessors.cc.
Input::Address::Address | ( | const StorageBase * | storage_root, |
const Type::TypeBase * | type_root | ||
) |
Basic constructor. We forbids default one since we always need the root input type.
Definition at line 64 of file accessors.cc.
Input::Address::Address | ( | const Address & | other | ) |
Copy constructor. TODO: For optimization we can use one vector of storage pointers shared (using shared_ptr) by all accessors along the path.
Definition at line 80 of file accessors.cc.
std::shared_ptr< Address > Input::Address::down | ( | unsigned int | idx | ) | const |
Dive deeper in the storage tree following index idx
. Assumes that actual node is an StorageArray, has to be asserted.
Definition at line 94 of file accessors.cc.
std::string Input::Address::make_full_address | ( | ) | const |
Produce a full address, i.e. sequence of keys and indices separated by '/', that leads from the root storage and root Input::Type::TypeBase to the actual node in the storage that is nodes_[actual_node_].
Definition at line 105 of file accessors.cc.
|
inline |
Getter. Returns actual storage node.
Definition at line 224 of file accessors.hh.
|
protected |
Shared part of address.
Definition at line 242 of file accessors.hh.