armarx::aron::type Namespace Reference

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

Namespaces

 converter
 
 defaultconversion
 
 detail
 
 reader
 
 rw
 
 writer
 

Classes

class  AnyObject
 The AnyObject class. More...
 
class  Bool
 The Bool class. More...
 
struct  ConstNlohmannJSONVisitor
 The NlohmannJSONVisitor struct. More...
 
struct  ConstVariantVisitor
 The VariantVisitor struct. More...
 
struct  Converter
 Converter struct providing the needed methods. More...
 
class  Dict
 The Dict class. More...
 
class  Double
 The Double class. More...
 
class  Float
 The Float class. More...
 
struct  FromNlohmannJSONConverter
 
struct  FromVariantConverter
 
class  Image
 The Image class. More...
 
class  Int
 The Int class. More...
 
class  IntEnum
 The IntEnum class. More...
 
class  List
 The List class. More...
 
class  Long
 The Long class. More...
 
class  Matrix
 The Matrix class. More...
 
class  NDArray
 The NDArray class. More...
 
class  Object
 The Object class. More...
 
class  Pair
 The Pair class. More...
 
class  PointCloud
 The PointCloud class. More...
 
class  Quaternion
 The Qaternion class. More...
 
class  ReaderInterface
 The ReaderInterface class. More...
 
struct  RecursiveConstVariantVisitor
 The RecursiveVariantVisitor struct. More...
 
struct  RecursiveVisitor
 The RecursiveVisitor struct. More...
 
class  String
 The String class. More...
 
struct  ToNlohmannJSONConverter
 
struct  ToVariantConverter
 
class  Tuple
 The Tuple class. More...
 
class  Variant
 The Variant class. More...
 
class  VariantFactory
 The VariantFactory class. More...
 
struct  Visitor
 The Visitor struct. More...
 
struct  VisitorBase
 The VisitorBase struct. More...
 
class  WriterInterface
 The WriterInterface class. More...
 

Typedefs

using AnyObjectPtr = std::shared_ptr< class AnyObject >
 
using BoolPtr = std::shared_ptr< class Bool >
 
using DictPtr = std::shared_ptr< class Dict >
 
using DoublePtr = std::shared_ptr< class Double >
 
using FloatPtr = std::shared_ptr< class Float >
 
using ImagePtr = std::shared_ptr< class Image >
 
using IntEnumPtr = std::shared_ptr< IntEnum >
 
using IntPtr = std::shared_ptr< class Int >
 
using ListPtr = std::shared_ptr< class List >
 
using LongPtr = std::shared_ptr< class Long >
 
using MatrixPtr = std::shared_ptr< class Matrix >
 
using NDArrayPtr = std::shared_ptr< class NDArray >
 
using ObjectPtr = std::shared_ptr< Object >
 
using PairPtr = std::shared_ptr< class Pair >
 
using PointCloudPtr = std::shared_ptr< class PointCloud >
 
using QuaternionPtr = std::shared_ptr< class Quaternion >
 
using StringPtr = std::shared_ptr< class String >
 
using TuplePtr = std::shared_ptr< class Tuple >
 
typedef std::unique_ptr< VariantFactoryVariantFactoryPtr
 
using VariantPtr = std::shared_ptr< Variant >
 

Enumerations

enum  Descriptor {
  LIST, OBJECT, TUPLE, PAIR,
  DICT, NDARRAY, MATRIX, QUATERNION,
  POINTCLOUD, IMAGE, INT_ENUM, INT,
  LONG, FLOAT, DOUBLE, BOOL,
  STRING, ANY_OBJECT, UNKNOWN = -1
}
 

Functions

type::Descriptor Aron2Descriptor (const type::dto::GenericType &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 >
void visit (VisitorImplementation &v, typename VisitorImplementation::Input &t)
 The visit function. More...
 
template<class RecursiveVisitorImplementation >
void visitRecursive (RecursiveVisitorImplementation &v, typename RecursiveVisitorImplementation::Input &t)
 The visitRecursive function. More...
 

Variables

const std::vector< type::DescriptorAllDescriptors
 
const std::vector< type::Maybe > AllMaybeTypes
 
template<class T >
concept isConverter
 
template<class T >
concept isReader = std::is_base_of<ReaderInterface<typename T::InputType>, T>::value
 
template<class T >
concept isVariant = std::is_base_of<Variant, 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)

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

forward declarations of ALL aron type objects

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

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

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

Typedef Documentation

◆ AnyObjectPtr

using AnyObjectPtr = std::shared_ptr<class AnyObject>

Definition at line 34 of file forward_declarations.h.

◆ BoolPtr

using BoolPtr = std::shared_ptr<class Bool>

Definition at line 32 of file forward_declarations.h.

◆ DictPtr

using DictPtr = std::shared_ptr<class Dict>

Definition at line 13 of file forward_declarations.h.

◆ DoublePtr

using DoublePtr = std::shared_ptr<class Double>

Definition at line 30 of file forward_declarations.h.

◆ FloatPtr

using FloatPtr = std::shared_ptr<class Float>

Definition at line 29 of file forward_declarations.h.

◆ ImagePtr

using ImagePtr = std::shared_ptr<class Image>

Definition at line 22 of file forward_declarations.h.

◆ IntEnumPtr

typedef std::shared_ptr< class IntEnum > IntEnumPtr

Definition at line 36 of file IntEnum.h.

◆ IntPtr

using IntPtr = std::shared_ptr<class Int>

Definition at line 27 of file forward_declarations.h.

◆ ListPtr

using ListPtr = std::shared_ptr<class List>

Definition at line 14 of file forward_declarations.h.

◆ LongPtr

using LongPtr = std::shared_ptr<class Long>

Definition at line 28 of file forward_declarations.h.

◆ MatrixPtr

using MatrixPtr = std::shared_ptr<class Matrix>

Definition at line 20 of file forward_declarations.h.

◆ NDArrayPtr

using NDArrayPtr = std::shared_ptr<class NDArray>

Definition at line 19 of file forward_declarations.h.

◆ ObjectPtr

typedef std::shared_ptr< class Object > ObjectPtr

Definition at line 36 of file Object.h.

◆ PairPtr

using PairPtr = std::shared_ptr<class Pair>

Definition at line 16 of file forward_declarations.h.

◆ PointCloudPtr

using PointCloudPtr = std::shared_ptr<class PointCloud>

Definition at line 23 of file forward_declarations.h.

◆ QuaternionPtr

using QuaternionPtr = std::shared_ptr<class Quaternion>

Definition at line 21 of file forward_declarations.h.

◆ StringPtr

using StringPtr = std::shared_ptr<class String>

Definition at line 31 of file forward_declarations.h.

◆ TuplePtr

using TuplePtr = std::shared_ptr<class Tuple>

Definition at line 17 of file forward_declarations.h.

◆ VariantFactoryPtr

typedef std::unique_ptr<VariantFactory> VariantFactoryPtr

Definition at line 43 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 
OBJECT 
TUPLE 
PAIR 
DICT 
NDARRAY 
MATRIX 
QUATERNION 
POINTCLOUD 
IMAGE 
INT_ENUM 
INT 
LONG 
FLOAT 
DOUBLE 
BOOL 
STRING 
ANY_OBJECT 
UNKNOWN 

Definition at line 76 of file Descriptor.h.

Function Documentation

◆ Aron2Descriptor()

type::Descriptor armarx::aron::type::Aron2Descriptor ( const type::dto::GenericType &  t)
inline

Definition at line 185 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 301 of file Converter.h.

+ Here is the call graph for this function:

◆ visit()

void armarx::aron::type::visit ( VisitorImplementation &  v,
typename VisitorImplementation::Input &  t 
)

The visit function.

Takes a visitor implementation as input and a type representation (e.g. aron::type::variant or nlohmann::json). Inspired by std::visit for std::variant This method only performs a single visit. This is useful if you only want to call a specific method depending on the type, or if you want to call a customized recursive function If you want to call a visitX recursively, please refer to "RecursiveVisitor.h"

Definition at line 42 of file Visitor.h.

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

◆ visitRecursive()

void armarx::aron::type::visitRecursive ( RecursiveVisitorImplementation &  v,
typename RecursiveVisitorImplementation::Input &  t 
)

The visitRecursive function.

Calls visitX of a RecursiveVisitorImplementation recursively. For more information please see Visitor.h

Definition at line 38 of file RecursiveVisitor.h.

+ Here is the call graph for this function:

Variable Documentation

◆ AllDescriptors

const std::vector<type::Descriptor> AllDescriptors
Initial value:
=
{
Descriptor::LIST,
Descriptor::OBJECT,
Descriptor::TUPLE,
Descriptor::PAIR,
Descriptor::DICT,
Descriptor::NDARRAY,
Descriptor::MATRIX,
Descriptor::QUATERNION,
Descriptor::POINTCLOUD,
Descriptor::IMAGE,
Descriptor::INT_ENUM,
Descriptor::INT,
Descriptor::LONG,
Descriptor::FLOAT,
Descriptor::DOUBLE,
Descriptor::BOOL,
Descriptor::STRING,
Descriptor::ANY_OBJECT,
Descriptor::UNKNOWN
}

Definition at line 99 of file Descriptor.h.

◆ AllMaybeTypes

const std::vector<type::Maybe> AllMaybeTypes
Initial value:
=
{
type::Maybe::OPTIONAL,
type::Maybe::RAW_PTR,
type::Maybe::SHARED_PTR,
type::Maybe::UNIQUE_PTR
}

Definition at line 67 of file Descriptor.h.

◆ isConverter

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

Definition at line 38 of file Converter.h.

◆ isReader

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

Definition at line 286 of file Reader.h.

◆ isVariant

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

Definition at line 146 of file Variant.h.

◆ isWriter

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

Definition at line 159 of file Writer.h.

cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:926
armarx::aron::similarity::FloatSimilarity::NONE
@ NONE
Definition: FloatSimilarity.h:11
T
float T
Definition: UnscentedKalmanFilterTest.cpp:35