|
LLVM
4.0.0
|
A helper template for implementing PointerSumType.
More...
#include <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 { MinTag = Min<MemberTs::Tag...>::value, 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 (...) |
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 34 of file PointerSumType.h.
| anonymous enum |
| Enumerator | |
|---|---|
| NumTagBits | |
Definition at line 150 of file PointerSumType.h.
| anonymous enum : uint64_t |
| Enumerator | |
|---|---|
| MinTag | |
| PointerMask | |
| TagMask | |
Definition at line 153 of file PointerSumType.h.
|
static |
|
static |
1.8.6