#include <TypeSwitch.h>
|
template<typename ValueT , typename CastT > |
using | has_dyn_cast_t = decltype(std::declval< ValueT & >().template dyn_cast< CastT >()) |
|
◆ has_dyn_cast_t
template<typename DerivedT, typename T>
template<typename ValueT , typename CastT >
Trait to check whether ValueT
provides a 'dyn_cast' method with type CastT
.
◆ TypeSwitchBase() [1/3]
template<typename DerivedT, typename T>
◆ TypeSwitchBase() [2/3]
template<typename DerivedT, typename T>
◆ ~TypeSwitchBase()
template<typename DerivedT, typename T>
◆ TypeSwitchBase() [3/3]
template<typename DerivedT, typename T>
◆ Case() [1/2]
template<typename DerivedT, typename T>
template<typename CaseT , typename CaseT2 , typename... CaseTs, typename CallableT >
Invoke a case on the derived class with multiple case types.
◆ Case() [2/2]
template<typename DerivedT, typename T>
template<typename CallableT >
Invoke a case on the derived class, inferring the type of the Case from the first input of the given callable. Note: This inference rules for this overload are very simple: strip pointers and references.
◆ castValue() [1/2]
template<typename DerivedT, typename T>
template<typename CastT , typename ValueT >
Attempt to dyn_cast the given value
to CastT
. This overload is selected if value
already has a suitable dyn_cast method.
◆ castValue() [2/2]
template<typename DerivedT, typename T>
template<typename CastT , typename ValueT >
Attempt to dyn_cast the given value
to CastT
. This overload is selected if llvm::dyn_cast should be used.
◆ operator=() [1/2]
template<typename DerivedT, typename T>
◆ operator=() [2/2]
template<typename DerivedT, typename T>
◆ value
template<typename DerivedT, typename T>
The root value we are switching on.
The documentation for this class was generated from the following file: