LLVM  3.7.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::PointerUnion4< PT1, PT2, PT3, PT4 > Class Template Reference

PointerUnion4 - This is a pointer union of four pointer types. More...

#include <PointerUnion.h>

Public Types

typedef PointerUnion< PT1, PT2 > InnerUnion1
 
typedef PointerUnion< PT3, PT4 > InnerUnion2
 
typedef PointerUnion
< InnerUnion1, InnerUnion2
ValTy
 

Public Member Functions

 PointerUnion4 ()
 
 PointerUnion4 (PT1 V)
 
 PointerUnion4 (PT2 V)
 
 PointerUnion4 (PT3 V)
 
 PointerUnion4 (PT4 V)
 
bool isNull () const
 isNull - Return true 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
 is<T>() return true if the Union currently holds the type matching T. More...
 
template<typename T >
T get () const
 get<T>() - Return the value of the specified pointer type. More...
 
template<typename T >
T dyn_cast () const
 dyn_cast<T>() - If the current value is of the specified pointer type, return it, otherwise return null. More...
 
const PointerUnion4operator= (std::nullptr_t)
 Assignment from nullptr which just clears the union. More...
 
const PointerUnion4operator= (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 PointerUnion4operator= (const PT2 &RHS)
 
const PointerUnion4operator= (const PT3 &RHS)
 
const PointerUnion4operator= (const PT4 &RHS)
 
void * getOpaqueValue () const
 

Static Public Member Functions

static PointerUnion4 getFromOpaqueValue (void *VP)
 

Detailed Description

template<typename PT1, typename PT2, typename PT3, typename PT4>
class llvm::PointerUnion4< PT1, PT2, PT3, PT4 >

PointerUnion4 - This is a pointer union of four pointer types.

See documentation for PointerUnion for usage.

Definition at line 368 of file PointerUnion.h.

Member Typedef Documentation

template<typename PT1, typename PT2, typename PT3, typename PT4>
typedef PointerUnion<PT1, PT2> llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::InnerUnion1

Definition at line 370 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
typedef PointerUnion<PT3, PT4> llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::InnerUnion2

Definition at line 371 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
typedef PointerUnion<InnerUnion1, InnerUnion2> llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::ValTy

Definition at line 372 of file PointerUnion.h.

Constructor & Destructor Documentation

template<typename PT1, typename PT2, typename PT3, typename PT4>
llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::PointerUnion4 ( )
inline

Definition at line 376 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::PointerUnion4 ( PT1  V)
inline

Definition at line 378 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::PointerUnion4 ( PT2  V)
inline

Definition at line 381 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::PointerUnion4 ( PT3  V)
inline

Definition at line 384 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::PointerUnion4 ( PT4  V)
inline

Definition at line 387 of file PointerUnion.h.

Member Function Documentation

template<typename PT1, typename PT2, typename PT3, typename PT4>
template<typename T >
T llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::dyn_cast ( ) const
inline

dyn_cast<T>() - If the current value is of the specified pointer type, return it, otherwise return null.

Definition at line 424 of file PointerUnion.h.

References T.

template<typename PT1, typename PT2, typename PT3, typename PT4>
template<typename T >
T llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::get ( ) const
inline

get<T>() - Return the value of the specified pointer type.

If the specified pointer type is incorrect, assert.

Definition at line 411 of file PointerUnion.h.

References llvm::MCID::Return, and T.

template<typename PT1, typename PT2, typename PT3, typename PT4>
static PointerUnion4 llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::getFromOpaqueValue ( void *  VP)
inlinestatic
template<typename PT1, typename PT2, typename PT3, typename PT4>
void* llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::getOpaqueValue ( ) const
inline
template<typename PT1, typename PT2, typename PT3, typename PT4>
template<typename T >
int llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::is ( ) const
inline

is<T>() return true if the Union currently holds the type matching T.

Definition at line 398 of file PointerUnion.h.

References llvm::MCID::Return, and T.

template<typename PT1, typename PT2, typename PT3, typename PT4>
bool llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::isNull ( ) const
inline

isNull - Return true if the pointer held in the union is null, regardless of which type it is.

Definition at line 393 of file PointerUnion.h.

References llvm::PointerUnion< PT1, PT2 >::isNull().

Referenced by llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::operator bool().

template<typename PT1, typename PT2, typename PT3, typename PT4>
llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::operator bool ( ) const
inlineexplicit
template<typename PT1, typename PT2, typename PT3, typename PT4>
const PointerUnion4& llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::operator= ( std::nullptr_t  )
inline

Assignment from nullptr which just clears the union.

Definition at line 430 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
const PointerUnion4& llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::operator= ( const PT1 &  RHS)
inline

Assignment operators - Allow assigning into this union from either pointer type, setting the discriminator to remember what it came from.

Definition at line 437 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
const PointerUnion4& llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::operator= ( const PT2 &  RHS)
inline

Definition at line 441 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
const PointerUnion4& llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::operator= ( const PT3 &  RHS)
inline

Definition at line 445 of file PointerUnion.h.

template<typename PT1, typename PT2, typename PT3, typename PT4>
const PointerUnion4& llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::operator= ( const PT4 &  RHS)
inline

Definition at line 449 of file PointerUnion.h.


The documentation for this class was generated from the following file: