Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.5.28
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Ra::Core::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/DynamicVisitorBase.hpp>

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

Public Member Functions

virtual void operator() (const std::string &name, 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 14 of file DynamicVisitorBase.hpp.

Member Function Documentation

◆ accept()

virtual bool Ra::Core::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::DynamicVisitor.

◆ operator()()

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

Execute a visiting operator on accepted types.

Visiting the association is done by calling the visit operator associated with the underlying type of the variable in.

Parameters
nameVarible name in the visited variable set.
inThe variable value to process
userParamThe optional user define parameter to forward to type associated functor.

Implemented in Ra::Core::DynamicVisitor.


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