LLVM 20.0.0git
|
Inheritance utility for extensible RTTI. More...
#include "llvm/Support/ExtensibleRTTI.h"
Public Member Functions | |
const void * | dynamicClassID () const override |
template<typename QueryT > | |
bool | isA () const |
Check whether this instance is a subclass of QueryT. | |
bool | isA (const void *const ClassID) const override |
Static Public Member Functions | |
static const void * | classID () |
template<typename T > | |
static bool | classof (const T *R) |
Inheritance utility for extensible RTTI.
Multiple inheritance is supported, but RTTIExtends only inherits constructors from the first base class. All subsequent bases will be default constructed. Virtual and non-public inheritance are not supported.
RTTIExtents uses CRTP so the first template argument to RTTIExtends is the newly introduced type, and the second and later arguments are the parent classes.
Definition at line 126 of file ExtensibleRTTI.h.
|
inlinestatic |
Definition at line 131 of file ExtensibleRTTI.h.
Referenced by llvm::RTTIExtends< ThisT, ParentT, ParentTs >::isA().
|
inlinestatic |
Definition at line 143 of file ExtensibleRTTI.h.
|
inlineoverride |
Reimplemented in llvm::RTTIExtends< RedirectingFileSystem, vfs::FileSystem >.
Definition at line 133 of file ExtensibleRTTI.h.
|
inline |
Check whether this instance is a subclass of QueryT.
Definition at line 136 of file ExtensibleRTTI.h.
References llvm::RTTIExtends< ThisT, ParentT, ParentTs >::isA().
Referenced by llvm::RTTIExtends< ThisT, ParentT, ParentTs >::isA().
|
inlineoverride |
Reimplemented in llvm::RTTIExtends< RedirectingFileSystem, vfs::FileSystem >.
Definition at line 138 of file ExtensibleRTTI.h.
References llvm::RTTIExtends< ThisT, ParentT, ParentTs >::classID().