LLVM  8.0.1
Classes | Namespaces | Functions
PointerUnion.h File Reference
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
Include dependency graph for PointerUnion.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::PointerUnionTypeSelectorReturn< T >
 
struct  llvm::PointerUnionTypeSelector< T1, T2, RET_EQ, RET_NE >
 Get a type based on whether two types are the same or not. More...
 
struct  llvm::PointerUnionTypeSelector< T, T, RET_EQ, RET_NE >
 
struct  llvm::PointerUnionTypeSelectorReturn< PointerUnionTypeSelector< T1, T2, RET_EQ, RET_NE > >
 
class  llvm::PointerUnionUIntTraits< PT1, PT2 >
 Provide PointerLikeTypeTraits for void* that is used by PointerUnion for the two template arguments. More...
 
class  llvm::PointerUnion< PT1, PT2 >
 A discriminated union of two pointer types, with the discriminator in the low bit of the pointer. More...
 
struct  llvm::PointerLikeTypeTraits< PointerUnion< PT1, PT2 > >
 
class  llvm::PointerUnion3< PT1, PT2, PT3 >
 A pointer union of three pointer types. More...
 
struct  llvm::PointerLikeTypeTraits< PointerUnion3< PT1, PT2, PT3 > >
 
class  llvm::PointerUnion4< PT1, PT2, PT3, PT4 >
 A pointer union of four pointer types. More...
 
struct  llvm::PointerLikeTypeTraits< PointerUnion4< PT1, PT2, PT3, PT4 > >
 
struct  llvm::DenseMapInfo< PointerUnion< T, U > >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Functions

template<typename PT1 , typename PT2 >
bool llvm::operator== (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs)
 
template<typename PT1 , typename PT2 >
bool llvm::operator!= (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs)
 
template<typename PT1 , typename PT2 >
bool llvm::operator< (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs)
 
template<typename PT1 , typename PT2 , typename PT3 >
bool llvm::operator< (PointerUnion3< PT1, PT2, PT3 > lhs, PointerUnion3< PT1, PT2, PT3 > rhs)