RecursiveVisitor< T > Struct Template Referenceabstract

The RecursiveVisitor struct. More...

#include <RobotAPI/libraries/aron/core/type/visitor/RecursiveVisitor.h>

+ Inheritance diagram for RecursiveVisitor< T >:

Public Types

using Input = typename VisitorBase< T >::Input
 
using InputNonConst = typename std::remove_const< Input >::type
 
using ObjectElements = std::map< std::string, InputNonConst >
 
using PairElements = std::pair< InputNonConst, InputNonConst >
 
using TupleElements = std::vector< InputNonConst >
 
- Public Types inherited from VisitorBase< T >
using Input = T
 

Public Member Functions

virtual InputNonConst getDictAcceptedType (Input &)=0
 
virtual InputNonConst getListAcceptedType (Input &)=0
 
virtual ObjectElements getObjectAcceptedTypes (Input &)=0
 
virtual PairElements getPairAcceptedTypes (Input &)=0
 
virtual TupleElements getTupleAcceptedTypes (Input &)=0
 
virtual void visitAnyObject (Input &)
 
virtual void visitBool (Input &)
 
virtual void visitDictOnEnter (Input &)
 
virtual void visitDictOnExit (Input &)
 
virtual void visitDouble (Input &)
 
virtual void visitFloat (Input &)
 
virtual void visitImage (Input &)
 
virtual void visitInt (Input &)
 
virtual void visitIntEnum (Input &)
 
virtual void visitListOnEnter (Input &)
 
virtual void visitListOnExit (Input &)
 
virtual void visitLong (Input &)
 
virtual void visitMatrix (Input &)
 
virtual void visitNDArray (Input &)
 
virtual void visitObjectOnEnter (Input &)
 
virtual void visitObjectOnExit (Input &)
 
virtual void visitPairOnEnter (Input &)
 
virtual void visitPairOnExit (Input &)
 
virtual void visitPointCloud (Input &)
 
virtual void visitQuaternion (Input &)
 
virtual void visitString (Input &)
 
virtual void visitTupleOnEnter (Input &)
 
virtual void visitTupleOnExit (Input &)
 
virtual void visitUnknown (Input &)
 
virtual ~RecursiveVisitor ()=default
 
- Public Member Functions inherited from VisitorBase< T >
virtual type::Descriptor getDescriptor (Input &)=0
 
virtual ~VisitorBase ()=default
 

Detailed Description

template<class T>
struct armarx::aron::type::RecursiveVisitor< T >

The RecursiveVisitor struct.

It differs from the Visitor struct (

See also
Visitor.h), because it provides special visitXOnEnter and visitXOnExit methods for container types. Further, it defines abstract methods to get the children from the input representation which is used by the visitRecursive method.

Definition at line 127 of file RecursiveVisitor.h.

Member Typedef Documentation

◆ Input

using Input = typename VisitorBase<T>::Input

Definition at line 129 of file RecursiveVisitor.h.

◆ InputNonConst

using InputNonConst = typename std::remove_const<Input>::type

Definition at line 130 of file RecursiveVisitor.h.

◆ ObjectElements

using ObjectElements = std::map<std::string, InputNonConst>

Definition at line 132 of file RecursiveVisitor.h.

◆ PairElements

Definition at line 133 of file RecursiveVisitor.h.

◆ TupleElements

using TupleElements = std::vector<InputNonConst>

Definition at line 134 of file RecursiveVisitor.h.

Constructor & Destructor Documentation

◆ ~RecursiveVisitor()

virtual ~RecursiveVisitor ( )
virtualdefault

Member Function Documentation

◆ getDictAcceptedType()

virtual InputNonConst getDictAcceptedType ( Input )
pure virtual

◆ getListAcceptedType()

virtual InputNonConst getListAcceptedType ( Input )
pure virtual

◆ getObjectAcceptedTypes()

virtual ObjectElements getObjectAcceptedTypes ( Input )
pure virtual

◆ getPairAcceptedTypes()

virtual PairElements getPairAcceptedTypes ( Input )
pure virtual

◆ getTupleAcceptedTypes()

virtual TupleElements getTupleAcceptedTypes ( Input )
pure virtual

◆ visitAnyObject()

virtual void visitAnyObject ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 165 of file RecursiveVisitor.h.

◆ visitBool()

virtual void visitBool ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 163 of file RecursiveVisitor.h.

◆ visitDictOnEnter()

virtual void visitDictOnEnter ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 144 of file RecursiveVisitor.h.

◆ visitDictOnExit()

virtual void visitDictOnExit ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 145 of file RecursiveVisitor.h.

◆ visitDouble()

virtual void visitDouble ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 162 of file RecursiveVisitor.h.

◆ visitFloat()

virtual void visitFloat ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 161 of file RecursiveVisitor.h.

◆ visitImage()

virtual void visitImage ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 156 of file RecursiveVisitor.h.

◆ visitInt()

virtual void visitInt ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 159 of file RecursiveVisitor.h.

◆ visitIntEnum()

virtual void visitIntEnum ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 158 of file RecursiveVisitor.h.

◆ visitListOnEnter()

virtual void visitListOnEnter ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 150 of file RecursiveVisitor.h.

◆ visitListOnExit()

virtual void visitListOnExit ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 151 of file RecursiveVisitor.h.

◆ visitLong()

virtual void visitLong ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 160 of file RecursiveVisitor.h.

◆ visitMatrix()

virtual void visitMatrix ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 153 of file RecursiveVisitor.h.

◆ visitNDArray()

virtual void visitNDArray ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 154 of file RecursiveVisitor.h.

◆ visitObjectOnEnter()

virtual void visitObjectOnEnter ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 142 of file RecursiveVisitor.h.

◆ visitObjectOnExit()

virtual void visitObjectOnExit ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 143 of file RecursiveVisitor.h.

◆ visitPairOnEnter()

virtual void visitPairOnEnter ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 146 of file RecursiveVisitor.h.

◆ visitPairOnExit()

virtual void visitPairOnExit ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 147 of file RecursiveVisitor.h.

◆ visitPointCloud()

virtual void visitPointCloud ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 157 of file RecursiveVisitor.h.

◆ visitQuaternion()

virtual void visitQuaternion ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 155 of file RecursiveVisitor.h.

◆ visitString()

virtual void visitString ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 164 of file RecursiveVisitor.h.

◆ visitTupleOnEnter()

virtual void visitTupleOnEnter ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 148 of file RecursiveVisitor.h.

◆ visitTupleOnExit()

virtual void visitTupleOnExit ( Input )
inlinevirtual

Reimplemented in RecursiveConstVariantVisitor.

Definition at line 149 of file RecursiveVisitor.h.

◆ visitUnknown()

virtual void visitUnknown ( Input )
inlinevirtual

Definition at line 168 of file RecursiveVisitor.h.


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