|
LLVM 22.0.0git
|
#include "llvm/ADT/TypeSwitch.h"
Public Member Functions | |
| TypeSwitchBase (const T &value) | |
| TypeSwitchBase (TypeSwitchBase &&other) | |
| ~TypeSwitchBase ()=default | |
| TypeSwitchBase (const TypeSwitchBase &)=delete | |
| TypeSwitchBase is not copyable. | |
| void | operator= (const TypeSwitchBase &)=delete |
| void | operator= (TypeSwitchBase &&other)=delete |
| template<typename CaseT, typename CaseT2, typename... CaseTs, typename CallableT> | |
| LLVM_ATTRIBUTE_ALWAYS_INLINE LLVM_ATTRIBUTE_NODEBUG DerivedT & | Case (CallableT &&caseFn) |
| Invoke a case on the derived class with multiple case types. | |
| template<typename CallableT> | |
| DerivedT & | Case (CallableT &&caseFn) |
| Invoke a case on the derived class, inferring the type of the Case from the first input of the given callable. | |
Static Protected Member Functions | |
| template<typename CastT, typename ValueT> | |
| static decltype(auto) | castValue (ValueT &&value) |
| Attempt to dyn_cast the given value to CastT. | |
Protected Attributes | |
| const T | value |
| The root value we are switching on. | |
Definition at line 26 of file TypeSwitch.h.
|
inline |
Definition at line 28 of file TypeSwitch.h.
|
inline |
Definition at line 29 of file TypeSwitch.h.
|
default |
|
delete |
TypeSwitchBase is not copyable.
|
inline |
Invoke a case on the derived class with multiple case types.
Definition at line 45 of file TypeSwitch.h.
Referenced by llvm::detail::TypeSwitchBase< TypeSwitch< T, ResultT >, T >::Case().
|
inline |
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.
Definition at line 55 of file TypeSwitch.h.
|
inlinestaticprotected |
Attempt to dyn_cast the given value to CastT.
Definition at line 67 of file TypeSwitch.h.
|
delete |
|
delete |
|
protected |
The root value we are switching on.
Definition at line 72 of file TypeSwitch.h.