Go to the documentation of this file.
29 #include <unordered_map>
35 #include "../container/Dict.h"
39 template <
typename AronDataT,
typename ValueT,
typename DerivedT>
55 this->
aron->value =
v;
60 operator ValueT()
const
62 return this->
aron->value;
68 this->
aron->value = x;
79 virtual void fromString(
const std::string& setter) = 0;
87 "Could not navigate through a non container navigator. The input path was: " +
101 std::vector<VariantPtr>
119 auto dict = std::make_shared<Dict>();
121 dict->addElement(
"data", copy_this);
128 this->
aron->value = x;
134 return this->
aron->value;
140 return this->
aron->value;
A base class for aron exceptions.
const data::Descriptor descriptor
DerivedT & operator=(const ValueT &x)
ReaderT::InputType T & ret
virtual ~PrimitiveVariant()=default
size_t childrenSize() const override
get the children size of a data variant
virtual void fromString(const std::string &setter)=0
set a primitive from a std string
std::shared_ptr< DerivedT > PointerType
static VariantPtr FromAronDTO(const data::dto::GenericDataPtr &, const Path &=Path())
create a variant from a dto object
PrimitiveVariant(const ValueT &v, const data::Descriptor descriptor, const Path &path=Path())
Path getPath() const
get the path
virtual PointerType clone() const
std::shared_ptr< Variant > VariantPtr
SpecializedVariantBase()=delete
VariantPtr navigateAbsolute(const Path &path) const override
naviate absolute
std::vector< VariantPtr > getChildren() const override
get the children of a data variant
PointerType clone(const Path &newPath) const override
data::dto::GenericDataPtr toAronDTO() const override
convert the variant to the ice representation
std::shared_ptr< Dict > DictPtr
double v(double t, double v0, double a0, double j)
std::filesystem::path Path
AronDataType::PointerType aron
void setValue(const ValueT &x)
std::string toString() const
DictPtr getAsDict() const