SpecializedVariantBase< AronTypeT, DerivedT > Class Template Reference

#include <RobotAPI/libraries/aron/core/type/variant/detail/SpecializedVariant.h>

+ Inheritance diagram for SpecializedVariantBase< AronTypeT, DerivedT >:

Public Member Functions

type::Maybe getMaybe () const override
 get the maybe type More...
 
VariantPtr navigateRelative (const Path &path) const override
 navigate relative More...
 
 operator AronTypeT ()
 
bool operator== (const DerivedT &other) const
 
bool operator== (const Variant &other) const override
 
void setMaybe (const type::Maybe m) override
 set the maybetype of this type More...
 
 SpecializedVariantBase (const AronTypeT &o, const type::Descriptor &descriptor, const Path &path)
 
 SpecializedVariantBase (const type::Descriptor &descriptor, const Path &path)
 
type::dto::GenericTypePtr toAronDTO () const override
 convert this variant to a dto object. More...
 
virtual ~SpecializedVariantBase ()=default
 
- Public Member Functions inherited from Variant
virtual size_t childrenSize () const =0
 
virtual std::vector< VariantPtrgetChildren () const =0
 get all child elements More...
 
type::Descriptor getDescriptor () const
 
virtual std::string getFullName () const =0
 get the full name of this specific type More...
 
Path getPath () const
 
virtual std::string getShortName () const =0
 get a short name of this specific type More...
 
virtual VariantPtr navigateAbsolute (const Path &path) const =0
 naviate absolute More...
 
bool operator== (const VariantPtr &other) const
 
std::string pathToString () const
 
 Variant (const type::Descriptor &descriptor, const Path &path=Path())
 
virtual ~Variant ()=default
 

Static Public Member Functions

static const DerivedT & DynamicCast (const Variant &n)
 
static std::shared_ptr< DerivedT > DynamicCast (const VariantPtr &n)
 
static DerivedT & DynamicCast (Variant &n)
 
static std::shared_ptr< DerivedT > DynamicCastAndCheck (const VariantPtr &n)
 
- Static Public Member Functions inherited from Variant
static VariantPtr FromAronDTO (const type::dto::GenericType &, const Path &=Path())
 create a variant object from an dto object More...
 

Protected Attributes

AronTypeT::PointerType aron
 
- Protected Attributes inherited from Variant
const type::Descriptor descriptor
 
const Path path
 

Additional Inherited Members

- Public Types inherited from Variant
using PointerType = VariantPtr
 

Detailed Description

template<typename AronTypeT, typename DerivedT>
class armarx::aron::type::detail::SpecializedVariantBase< AronTypeT, DerivedT >

Definition at line 40 of file SpecializedVariant.h.

Constructor & Destructor Documentation

◆ SpecializedVariantBase() [1/2]

SpecializedVariantBase ( const type::Descriptor descriptor,
const Path path 
)
inline

Definition at line 44 of file SpecializedVariant.h.

◆ SpecializedVariantBase() [2/2]

SpecializedVariantBase ( const AronTypeT &  o,
const type::Descriptor descriptor,
const Path path 
)
inline

Definition at line 49 of file SpecializedVariant.h.

◆ ~SpecializedVariantBase()

virtual ~SpecializedVariantBase ( )
virtualdefault

Member Function Documentation

◆ DynamicCast() [1/3]

static const DerivedT& DynamicCast ( const Variant n)
inlinestatic

Definition at line 112 of file SpecializedVariant.h.

◆ DynamicCast() [2/3]

static std::shared_ptr<DerivedT> DynamicCast ( const VariantPtr n)
inlinestatic

Definition at line 118 of file SpecializedVariant.h.

◆ DynamicCast() [3/3]

static DerivedT& DynamicCast ( Variant n)
inlinestatic

Definition at line 106 of file SpecializedVariant.h.

◆ DynamicCastAndCheck()

static std::shared_ptr<DerivedT> DynamicCastAndCheck ( const VariantPtr n)
inlinestatic

Definition at line 124 of file SpecializedVariant.h.

◆ getMaybe()

type::Maybe getMaybe ( ) const
inlineoverridevirtual

get the maybe type

Implements Variant.

Definition at line 92 of file SpecializedVariant.h.

+ Here is the caller graph for this function:

◆ navigateRelative()

VariantPtr navigateRelative ( const Path path) const
inlineoverridevirtual

navigate relative

Implements Variant.

Definition at line 98 of file SpecializedVariant.h.

◆ operator AronTypeT()

operator AronTypeT ( )
inline

Definition at line 59 of file SpecializedVariant.h.

◆ operator==() [1/2]

bool operator== ( const DerivedT &  other) const
inline

Definition at line 72 of file SpecializedVariant.h.

◆ operator==() [2/2]

bool operator== ( const Variant other) const
inlineoverridevirtual

Implements Variant.

Definition at line 65 of file SpecializedVariant.h.

◆ setMaybe()

void setMaybe ( const type::Maybe  m)
inlineoverridevirtual

set the maybetype of this type

Implements Variant.

Definition at line 86 of file SpecializedVariant.h.

◆ toAronDTO()

type::dto::GenericTypePtr toAronDTO ( ) const
inlineoverridevirtual

convert this variant to a dto object.

In most cases you have to use the specific conversion methods of each type implementation (e.g. to toIntDTO() to get an aron::type::dto::Int object)

Implements Variant.

Definition at line 79 of file SpecializedVariant.h.

Member Data Documentation

◆ aron

AronTypeT::PointerType aron
protected

Definition at line 137 of file SpecializedVariant.h.


The documentation for this class was generated from the following file: