Radium Engine  1.5.20
Loading...
Searching...
No Matches
Ra::Core::VariableSet::DynamicVisitorBase Class Referenceabstract

Base class for dynamically configurable visitors Users can implement this interface to build custom visitors without any restriction. To ease visitor configuration, see class DynamicVisitor. More...

#include <Core/Containers/VariableSet.hpp>

+ Inheritance diagram for Ra::Core::VariableSet::DynamicVisitorBase:
+ Collaboration diagram for Ra::Core::VariableSet::DynamicVisitorBase:

Public Member Functions

virtual void operator() (std::any &&in, std::any &&userParam) const =0
 Execute a visiting operator on accepted types.
 
virtual bool accept (const std::type_index &id) const =0
 Acceptance function for the visitor.
 

Detailed Description

Base class for dynamically configurable visitors Users can implement this interface to build custom visitors without any restriction. To ease visitor configuration, see class DynamicVisitor.

See also
DynamicVisitor

Definition at line 281 of file VariableSet.hpp.

Member Function Documentation

◆ accept()

virtual bool Ra::Core::VariableSet::DynamicVisitorBase::accept ( const std::type_index & id) const
nodiscardpure virtual

Acceptance function for the visitor.

Parameters
idthe std::type_index associated to the type to visit
Returns
true if the type is visitable, false if not

Implemented in Ra::Core::VariableSet::DynamicVisitor.

◆ operator()()

virtual void Ra::Core::VariableSet::DynamicVisitorBase::operator() ( std::any && in,
std::any && userParam ) const
pure virtual

Execute a visiting operator on accepted types.

Parameters
inThe variable to process
userParamThe optional user define parameter to forward to type associated functor The variable in contains a wrapping of the association name->value whose visit is accepted. Visiting the association is done by calling the visit operator associated with the underlying type of the variable in.

Implemented in Ra::Core::VariableSet::DynamicVisitor.


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