Flow123d
master-f44eb46
|
Accessor to the polymorphic input data of a type given by an AbstracRecord object. More...
#include <accessors.hh>
Public Types | |
typedef ::Input::Type::Abstract | InputType |
Public Member Functions | |
AbstractRecord () | |
AbstractRecord (const AbstractRecord &rec) | |
AbstractRecord (const Address &address, const Type::Abstract type) | |
operator Record () const | |
Input::Type::Record | type () const |
EI_Address | ei_address () const |
string | address_string () const |
template<class Type , class... Arguments> | |
const std::shared_ptr< Type > | factory (Arguments... arguments) const |
Private Attributes | |
Input::Type::Abstract | abstract_type_ |
Corresponding Type::Abstract object. More... | |
Address | address_ |
Contains address and relationships with abstract record ancestor. More... | |
Accessor to the polymorphic input data of a type given by an AbstracRecord object.
Provides conversion operator to the Record accessor in ordred to behave in the same way, but further it provides method type()
that can be used to call constructor of the class corresponding to the input data.
Definition at line 458 of file accessors.hh.
Definition at line 460 of file accessors.hh.
Input::AbstractRecord::AbstractRecord | ( | ) |
Default constructor creates an empty accessor.
Constructor uses empty Address which causes error in program, Address has to be filled.
Definition at line 247 of file accessors.cc.
Input::AbstractRecord::AbstractRecord | ( | const AbstractRecord & | rec | ) |
Copy constructor.
Definition at line 253 of file accessors.cc.
Input::AbstractRecord::AbstractRecord | ( | const Address & | address, |
const Type::Abstract | type | ||
) |
Constructs the accessor providing pointer store
to storage node with list of data of the record and type specification of the record given by parameter type
.
Definition at line 259 of file accessors.cc.
string Input::AbstractRecord::address_string | ( | ) | const |
Get address as string.
Definition at line 285 of file accessors.cc.
Input::EI_Address Input::AbstractRecord::ei_address | ( | ) | const |
Returns address error info.
Definition at line 280 of file accessors.cc.
const std::shared_ptr< Type > Input::AbstractRecord::factory | ( | Arguments... | arguments | ) | const |
Construct classes given by TYPE key of AbstractRecord.
Method uses Input::Factory class. All constructed classes (representing by descendants of AbstractRecord) must be registered to factory (see Input::Factory class) and must have constructors with same parameters (given by Arguments).
Definition at line 135 of file accessors_impl.hh.
Input::AbstractRecord::operator Record | ( | ) | const |
Implicit conversion to the Input::Record
accessor. You can use Input::AbstractRecord
in the same way as the Input::Record
.
Definition at line 268 of file accessors.cc.
Input::Type::Record Input::AbstractRecord::type | ( | ) | const |
Returns particular type selected from input. You can use it to construct particular type.
Definition at line 273 of file accessors.cc.
|
private |
Corresponding Type::Abstract object.
Definition at line 523 of file accessors.hh.
|
private |
Contains address and relationships with abstract record ancestor.
Definition at line 526 of file accessors.hh.