armarx::aron::data Namespace Reference

A convenience header to include all aron files (full include, not forward declared) More...

Namespaces

 converter
 
 defaultconversion
 
 detail
 
 filter
 
 reader
 
 rw
 
 writer
 

Classes

class  Bool
 
struct  ConstNlohmannJSONVisitor
 
struct  ConstTypedVariantVisitor
 
struct  ConstVariantVisitor
 
struct  Converter
 Converter struct providing the needed methods. More...
 
class  Dict
 
class  Double
 
class  Float
 
struct  FromNlohmannJSONConverter
 
struct  FromVariantConverter
 
class  Int
 
class  List
 
class  Long
 
class  NDArray
 
class  ReaderInterface
 
struct  RecursiveConstTypedVariantVisitor
 
struct  RecursiveConstVariantVisitor
 
struct  RecursiveTypedVisitor
 
struct  RecursiveVariantVisitor
 
struct  RecursiveVisitor
 
class  String
 
struct  ToNlohmannJSONConverter
 
struct  ToVariantConverter
 
struct  TypedVisitor
 
struct  TypedVisitorBase
 
class  Variant
 The Variant class. More...
 
class  VariantFactory
 The VariantFactory class. More...
 
struct  Visitor
 
struct  VisitorBase
 
class  WriterInterface
 

Typedefs

using BoolPtr = std::shared_ptr< Bool >
 
using DictPtr = std::shared_ptr< Dict >
 
using DoublePtr = std::shared_ptr< Double >
 
using FloatPtr = std::shared_ptr< Float >
 
using IntPtr = std::shared_ptr< Int >
 
using ListPtr = std::shared_ptr< List >
 
using LongPtr = std::shared_ptr< Long >
 
using NDArrayPtr = std::shared_ptr< NDArray >
 
using StringPtr = std::shared_ptr< String >
 
typedef std::unique_ptr< VariantFactoryVariantFactoryPtr
 
using VariantPtr = std::shared_ptr< Variant >
 

Enumerations

enum  Descriptor {
  LIST, DICT, NDARRAY, INT,
  LONG, FLOAT, DOUBLE, STRING,
  BOOL, UNKNOWN = -1
}
 

Functions

data::Descriptor Aron2Descriptor (const data::dto::GenericData &t)
 
template<class ConverterImplementation >
requires isConverter< ConverterImplementation > ConverterImplementation::WriterReturnType readAndWrite (typename ConverterImplementation::ReaderInputType &o)
 the function to read from a variant and write to a writer T returns the returntype of T More...
 
template<class VisitorImplementation >
requires isTypedVisitor< VisitorImplementation, typename VisitorImplementation::DataInput, typename VisitorImplementation::TypeInput > void visit (VisitorImplementation &v, typename VisitorImplementation::DataInput &o, typename VisitorImplementation::TypeInput &t)
 
template<class VisitorImplementation >
requires isVisitor< VisitorImplementation, typename VisitorImplementation::Input > void visit (VisitorImplementation &v, typename VisitorImplementation::Input &o)
 
template<class RecursiveVisitorImplementation >
requires isRecursiveTypedVisitor< RecursiveVisitorImplementation, typename RecursiveVisitorImplementation::DataInput, typename RecursiveVisitorImplementation::TypeInput > void visitRecursive (RecursiveVisitorImplementation &v, typename RecursiveVisitorImplementation::DataInput &o, typename RecursiveVisitorImplementation::TypeInput &t)
 
template<class RecursiveVisitorImplementation >
requires isRecursiveVisitor< RecursiveVisitorImplementation, typename RecursiveVisitorImplementation::Input > void visitRecursive (RecursiveVisitorImplementation &v, typename RecursiveVisitorImplementation::Input &o)
 

Variables

const std::vector< data::DescriptorAllDescriptors
 
template<class T >
concept isConverter = std::is_base_of<Converter<typename T::ReaderType, typename T::WriterType, typename T::This>, T>::value
 
template<class T >
concept isReader = std::is_base_of<ReaderInterface<typename T::InputType>, T>::value
 
template<class T , class Data , class Type >
concept isRecursiveTypedVisitor = std::is_base_of<RecursiveTypedVisitor<Data, Type>, T>::value
 
template<class T , class Data >
concept isRecursiveVisitor = std::is_base_of<RecursiveVisitor<Data>, T>::value
 
template<class T , class Data , class Type >
concept isTypedVisitor = std::is_base_of<TypedVisitor<Data, Type>, T>::value
 
template<class T >
concept isVariant = std::is_base_of<Variant, T>::value
 
template<class T , class Data >
concept isVisitor = std::is_base_of<Visitor<Data>, T>::value
 
template<class T >
concept isWriter = std::is_base_of<WriterInterface<typename T::ReturnType>, T>::value
 

Detailed Description

A convenience header to include all aron files (full include, not forward declared)

forward declarations of ALL aron data objects

Typedef Documentation

◆ BoolPtr

typedef std::shared_ptr< Bool > BoolPtr

Definition at line 38 of file forward_declarations.h.

◆ DictPtr

typedef std::shared_ptr< Dict > DictPtr

Definition at line 41 of file Dict.h.

◆ DoublePtr

typedef std::shared_ptr< Double > DoublePtr

Definition at line 32 of file forward_declarations.h.

◆ FloatPtr

typedef std::shared_ptr< Float > FloatPtr

Definition at line 29 of file forward_declarations.h.

◆ IntPtr

typedef std::shared_ptr< Int > IntPtr

Definition at line 23 of file forward_declarations.h.

◆ ListPtr

typedef std::shared_ptr< List > ListPtr

Definition at line 40 of file List.h.

◆ LongPtr

typedef std::shared_ptr< Long > LongPtr

Definition at line 26 of file forward_declarations.h.

◆ NDArrayPtr

typedef std::shared_ptr< NDArray > NDArrayPtr

Definition at line 46 of file NDArray.h.

◆ StringPtr

typedef std::shared_ptr< String > StringPtr

Definition at line 35 of file forward_declarations.h.

◆ VariantFactoryPtr

typedef std::unique_ptr<VariantFactory> VariantFactoryPtr

Definition at line 40 of file Variant.h.

◆ VariantPtr

typedef std::shared_ptr< Variant > VariantPtr

Definition at line 11 of file forward_declarations.h.

Enumeration Type Documentation

◆ Descriptor

enum Descriptor
strong
Enumerator
LIST 
DICT 
NDARRAY 
INT 
LONG 
FLOAT 
DOUBLE 
STRING 
BOOL 
UNKNOWN 

Definition at line 193 of file Descriptor.h.

Function Documentation

◆ Aron2Descriptor()

data::Descriptor armarx::aron::data::Aron2Descriptor ( const data::dto::GenericData &  t)
inline

Definition at line 255 of file Descriptor.h.

+ Here is the caller graph for this function:

◆ readAndWrite()

requires isConverter< ConverterImplementation > ConverterImplementation::WriterReturnType readAndWrite ( typename ConverterImplementation::ReaderInputType &  o)

the function to read from a variant and write to a writer T returns the returntype of T

Definition at line 169 of file Converter.h.

+ Here is the call graph for this function:

◆ visit() [1/2]

requires isTypedVisitor<VisitorImplementation, typename VisitorImplementation::DataInput, typename VisitorImplementation::TypeInput> void armarx::aron::data::visit ( VisitorImplementation &  v,
typename VisitorImplementation::DataInput &  o,
typename VisitorImplementation::TypeInput &  t 
)
See also
type/visitor/Visitor.h This implemntation visits a data and type representation simultaneously (based on the type descriptor). Does NOT check if the data and type representation match!

Definition at line 159 of file Visitor.h.

+ Here is the call graph for this function:

◆ visit() [2/2]

requires isVisitor<VisitorImplementation, typename VisitorImplementation::Input> void armarx::aron::data::visit ( VisitorImplementation &  v,
typename VisitorImplementation::Input &  o 
)
See also
type/visitor/Visitor.h

Definition at line 124 of file Visitor.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visitRecursive() [1/2]

requires isRecursiveTypedVisitor<RecursiveVisitorImplementation, typename RecursiveVisitorImplementation::DataInput, typename RecursiveVisitorImplementation::TypeInput> void armarx::aron::data::visitRecursive ( RecursiveVisitorImplementation &  v,
typename RecursiveVisitorImplementation::DataInput &  o,
typename RecursiveVisitorImplementation::TypeInput &  t 
)
See also
type/visitor/RecursiveVisitor.h
data/visitor/Visitor.h

Definition at line 198 of file RecursiveVisitor.h.

+ Here is the call graph for this function:

◆ visitRecursive() [2/2]

requires isRecursiveVisitor<RecursiveVisitorImplementation, typename RecursiveVisitorImplementation::Input> void armarx::aron::data::visitRecursive ( RecursiveVisitorImplementation &  v,
typename RecursiveVisitorImplementation::Input &  o 
)
See also
type/visitor/RecursiveVisitor.h

Definition at line 146 of file RecursiveVisitor.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ AllDescriptors

const std::vector<data::Descriptor> AllDescriptors
Initial value:
=
{
Descriptor::LIST,
Descriptor::DICT,
Descriptor::NDARRAY,
Descriptor::INT,
Descriptor::LONG,
Descriptor::FLOAT,
Descriptor::DOUBLE,
Descriptor::STRING,
Descriptor::BOOL,
Descriptor::UNKNOWN
}

Definition at line 207 of file Descriptor.h.

◆ isConverter

concept isConverter = std::is_base_of<Converter<typename T::ReaderType, typename T::WriterType, typename T::This>, T>::value

Definition at line 38 of file Converter.h.

◆ isReader

concept isReader = std::is_base_of<ReaderInterface<typename T::InputType>, T>::value

Definition at line 184 of file Reader.h.

◆ isRecursiveTypedVisitor

concept isRecursiveTypedVisitor = std::is_base_of<RecursiveTypedVisitor<Data, Type>, T>::value

Definition at line 139 of file RecursiveVisitor.h.

◆ isRecursiveVisitor

concept isRecursiveVisitor = std::is_base_of<RecursiveVisitor<Data>, T>::value

Definition at line 136 of file RecursiveVisitor.h.

◆ isTypedVisitor

concept isTypedVisitor = std::is_base_of<TypedVisitor<Data, Type>, T>::value

Definition at line 116 of file Visitor.h.

◆ isVariant

concept isVariant = std::is_base_of<Variant, T>::value

Definition at line 163 of file Variant.h.

◆ isVisitor

concept isVisitor = std::is_base_of<Visitor<Data>, T>::value

Definition at line 113 of file Visitor.h.

◆ isWriter

concept isWriter = std::is_base_of<WriterInterface<typename T::ReturnType>, T>::value

Definition at line 98 of file Writer.h.