LLVM
8.0.1
|
A pointer union of three pointer types. More...
#include "llvm/ADT/PointerUnion.h"
Public Types | |
using | InnerUnion = PointerUnion< PT1, PT2 > |
using | ValTy = PointerUnion< InnerUnion, PT3 > |
Public Member Functions | |
PointerUnion3 ()=default | |
PointerUnion3 (PT1 V) | |
PointerUnion3 (PT2 V) | |
PointerUnion3 (PT3 V) | |
bool | isNull () const |
Test if the pointer held in the union is null, regardless of which type it is. More... | |
operator bool () const | |
template<typename T > | |
int | is () const |
Test if the Union currently holds the type matching T. More... | |
template<typename T > | |
T | get () const |
Returns the value of the specified pointer type. More... | |
template<typename T > | |
T | dyn_cast () const |
Returns the current pointer if it is of the specified pointer type, otherwises returns null. More... | |
const PointerUnion3 & | operator= (std::nullptr_t) |
Assignment from nullptr which just clears the union. More... | |
const PointerUnion3 & | operator= (const PT1 &RHS) |
Assignment operators - Allow assigning into this union from either pointer type, setting the discriminator to remember what it came from. More... | |
const PointerUnion3 & | operator= (const PT2 &RHS) |
const PointerUnion3 & | operator= (const PT3 &RHS) |
void * | getOpaqueValue () const |
Static Public Member Functions | |
static PointerUnion3 | getFromOpaqueValue (void *VP) |
A pointer union of three pointer types.
See documentation for PointerUnion for usage.
Definition at line 229 of file PointerUnion.h.
using llvm::PointerUnion3< PT1, PT2, PT3 >::InnerUnion = PointerUnion<PT1, PT2> |
Definition at line 231 of file PointerUnion.h.
using llvm::PointerUnion3< PT1, PT2, PT3 >::ValTy = PointerUnion<InnerUnion, PT3> |
Definition at line 232 of file PointerUnion.h.
|
default |
|
inline |
Definition at line 263 of file PointerUnion.h.
|
inline |
Definition at line 264 of file PointerUnion.h.
|
inline |
Definition at line 265 of file PointerUnion.h.
|
inline |
Returns the current pointer if it is of the specified pointer type, otherwises returns null.
Definition at line 295 of file PointerUnion.h.
References T.
|
inline |
Returns the value of the specified pointer type.
If the specified pointer type is incorrect, assert.
Definition at line 284 of file PointerUnion.h.
|
inlinestatic |
Definition at line 323 of file PointerUnion.h.
Referenced by llvm::PointerLikeTypeTraits< PointerUnion3< PT1, PT2, PT3 > >::getFromVoidPointer().
|
inline |
Definition at line 322 of file PointerUnion.h.
References llvm::PointerUnion< PT1, PT2 >::getOpaqueValue().
Referenced by llvm::PointerLikeTypeTraits< PointerUnion3< PT1, PT2, PT3 > >::getAsVoidPointer(), and llvm::operator<().
|
inline |
Test if the Union currently holds the type matching T.
Definition at line 273 of file PointerUnion.h.
References T.
|
inline |
Test if the pointer held in the union is null, regardless of which type it is.
Definition at line 269 of file PointerUnion.h.
References llvm::PointerUnion< PT1, PT2 >::isNull().
|
inlineexplicit |
Definition at line 270 of file PointerUnion.h.
|
inline |
Assignment from nullptr which just clears the union.
Definition at line 302 of file PointerUnion.h.
|
inline |
Assignment operators - Allow assigning into this union from either pointer type, setting the discriminator to remember what it came from.
Definition at line 309 of file PointerUnion.h.
|
inline |
Definition at line 313 of file PointerUnion.h.
|
inline |
Definition at line 317 of file PointerUnion.h.