Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.5.28
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DynamicVisitor.cpp
1#include <Core/Containers/DynamicVisitor.hpp>
2#include <any>
3#include <functional>
4#include <typeindex>
5#include <unordered_map>
6#include <utility>
7
8namespace Ra {
9namespace Core {
10
11bool DynamicVisitor::accept( const std::type_index& id ) const {
12 return m_visitorOperator.find( id ) != m_visitorOperator.cend();
13}
14
16 std::any&& in,
17 std::any&& userParam ) const {
18 m_visitorOperator.at( std::type_index( in.type() ) )(
19 name, in, std::forward<std::any>( userParam ) );
20}
21
22} // namespace Core
23} // namespace Ra
T at(T... args)
void operator()(const std::string &name, std::any &&in, std::any &&userParam) const override
Execute a visiting operator on accepted types.
bool accept(const std::type_index &id) const override
Acceptance function for the visitor.
T cend(T... args)
T find(T... args)
T forward(T... args)
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:4