LLVM 20.0.0git
|
A helper template for implementing PointerSumType
.
More...
#include "llvm/ADT/PointerSumType.h"
Classes | |
struct | Checker |
struct | Checker< MemberT > |
struct | Lookup |
struct | Min |
struct | Min< V > |
Public Types | |
enum | { NumTagBits = Min<MemberTs::TraitsT::NumLowBitsAvailable...>::value } |
enum | : uint64_t { PointerMask = static_cast<uint64_t>(-1) << NumTagBits , TagMask = ~PointerMask } |
Static Public Member Functions | |
template<TagT N, typename PointerT , typename TraitsT > | |
static PointerSumTypeMember< N, PointerT, TraitsT > | LookupOverload (PointerSumTypeMember< N, PointerT, TraitsT > *) |
template<TagT N> | |
static void | LookupOverload (...) |
Static Public Attributes | |
static constexpr TagT | MinTag |
A helper template for implementing PointerSumType
.
It provides fast compile-time lookup of the member from a particular tag value, along with useful constants and compile time checking infrastructure..
Definition at line 206 of file PointerSumType.h.
anonymous enum |
Enumerator | |
---|---|
NumTagBits |
Definition at line 237 of file PointerSumType.h.
Enumerator | |
---|---|
PointerMask | |
TagMask |
Definition at line 242 of file PointerSumType.h.
|
static |
|
static |
|
staticconstexpr |
Definition at line 240 of file PointerSumType.h.
Referenced by llvm::PointerSumType< TagT, MemberTs >::getAddrOfZeroTagPointer().