LLVM  8.0.1
Public Types | Static Public Member Functions | List of all members
llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits > Struct Template Reference

#include "llvm/ADT/PointerIntPair.h"

Public Types

enum  : uintptr_t { PointerBitMask, IntShift = (uintptr_t)PtrTraits::NumLowBitsAvailable - IntBits, IntMask = (uintptr_t)(((intptr_t)1 << IntBits) - 1), ShiftedIntMask = (uintptr_t)(IntMask << IntShift) }
 

Static Public Member Functions

static PointerT getPointer (intptr_t Value)
 
static intptr_t getInt (intptr_t Value)
 
static intptr_t updatePointer (intptr_t OrigValue, PointerT Ptr)
 
static intptr_t updateInt (intptr_t OrigValue, intptr_t Int)
 

Detailed Description

template<typename PointerT, unsigned IntBits, typename PtrTraits>
struct llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >

Definition at line 26 of file PointerIntPair.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename PointerT , unsigned IntBits, typename PtrTraits >
anonymous enum : uintptr_t
Enumerator
PointerBitMask 

PointerBitMask - The bits that come from the pointer.

IntShift 

IntShift - The number of low bits that we reserve for other uses, and keep zero.

IntMask 

IntMask - This is the unshifted mask for valid bits of the int type.

ShiftedIntMask 

Definition at line 136 of file PointerIntPair.h.

Member Function Documentation

◆ getInt()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static intptr_t llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::getInt ( intptr_t  Value)
inlinestatic

Definition at line 157 of file PointerIntPair.h.

◆ getPointer()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static PointerT llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::getPointer ( intptr_t  Value)
inlinestatic

Definition at line 152 of file PointerIntPair.h.

◆ updateInt()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static intptr_t llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::updateInt ( intptr_t  OrigValue,
intptr_t  Int 
)
inlinestatic

Definition at line 170 of file PointerIntPair.h.

References assert().

◆ updatePointer()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static intptr_t llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::updatePointer ( intptr_t  OrigValue,
PointerT  Ptr 
)
inlinestatic

Definition at line 161 of file PointerIntPair.h.

References assert().


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