template<typename R, typename Exec, typename ObjectTypes>
template<typename ObjectType, typename Recur>
struct TypeSwitch::detail::Invoker< R, Exec, ObjectTypes >::Op< ObjectType, Recur >
Definition at line 183 of file TypeSwitch.h.
template<typename R , typename Exec , typename ObjectTypes >
template<typename ObjectType , typename Recur >
template<typename Object , typename Functions , typename... Args>
R TypeSwitch::detail::Invoker< R, Exec, ObjectTypes >::Op< ObjectType, Recur >::operator() |
( |
Object & |
object, |
|
|
const Functions & |
functions, |
|
|
Args &&... |
args |
|
) |
| const |
|
inline |
Definition at line 185 of file TypeSwitch.h.
186 {
187
188 if (const auto pObject = dynamic_cast<ObjectType*>(&object))
189
190 return Exec{}(*pObject, functions, std::forward<Args>(args)...);
191 else
192
193 return Recur{}(object, functions, std::forward<Args>(args)...);
194 }