armarx::aron::data Namespace Reference

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

Namespaces

namespace  converter
 
namespace  defaultconversion
 
namespace  detail
 
namespace  dto
 
namespace  filter
 
namespace  reader
 
namespace  rw
 
namespace  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 class  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
 
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
 

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 = std::shared_ptr<Bool>

Definition at line 38 of file forward_declarations.h.

◆ DictPtr

typedef std::shared_ptr< Dict > DictPtr = std::shared_ptr<Dict>

Definition at line 42 of file Dict.h.

◆ DoublePtr

typedef std::shared_ptr< Double > DoublePtr = std::shared_ptr<Double>

Definition at line 32 of file forward_declarations.h.

◆ FloatPtr

typedef std::shared_ptr< Float > FloatPtr = std::shared_ptr<Float>

Definition at line 29 of file forward_declarations.h.

◆ IntPtr

typedef std::shared_ptr< Int > IntPtr = std::shared_ptr<Int>

Definition at line 23 of file forward_declarations.h.

◆ ListPtr

typedef std::shared_ptr< List > ListPtr = std::shared_ptr<List>

Definition at line 41 of file List.h.

◆ LongPtr

typedef std::shared_ptr< Long > LongPtr = std::shared_ptr<Long>

Definition at line 26 of file forward_declarations.h.

◆ NDArrayPtr

typedef std::shared_ptr< NDArray > NDArrayPtr = std::shared_ptr<NDArray>

Definition at line 46 of file NDArray.h.

◆ StringPtr

typedef std::shared_ptr< String > StringPtr = std::shared_ptr<String>

Definition at line 35 of file forward_declarations.h.

◆ VariantFactoryPtr

typedef std::unique_ptr<VariantFactory> VariantFactoryPtr

Definition at line 41 of file Variant.h.

◆ VariantPtr

typedef std::shared_ptr< Variant > VariantPtr = std::shared_ptr<Variant>

Definition at line 11 of file forward_declarations.h.

Enumeration Type Documentation

◆ Descriptor

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

Definition at line 179 of file Descriptor.h.

Function Documentation

◆ Aron2Descriptor()

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

Definition at line 237 of file Descriptor.h.

+ Here is the caller graph for this function:

◆ readAndWrite()

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

Definition at line 185 of file Converter.h.

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

◆ visit() [1/2]

template<class VisitorImplementation>
requires isTypedVisitor<VisitorImplementation, typename VisitorImplementation::DataInput, typename VisitorImplementation::TypeInput>
void 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 174 of file Visitor.h.

◆ visit() [2/2]

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

Definition at line 136 of file Visitor.h.

+ Here is the caller graph for this function:

◆ visitRecursive() [1/2]

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

Definition at line 217 of file RecursiveVisitor.h.

+ Here is the call graph for this function:

◆ visitRecursive() [2/2]

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

Definition at line 161 of file RecursiveVisitor.h.

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

Variable Documentation

◆ AllDescriptors