WPILibC++ 2023.4.3
wpi::PointerIntPairInfo< PointerT, IntBits, PtrTraits > Struct Template Reference

#include </home/runner/work/allwpilib/allwpilib/wpiutil/src/main/native/thirdparty/llvm/include/wpi/PointerIntPair.h>

Public Types

enum  MaskAndShiftConstants : 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)
 

Member Enumeration Documentation

◆ MaskAndShiftConstants

template<typename PointerT , unsigned IntBits, typename PtrTraits >
enum wpi::PointerIntPairInfo::MaskAndShiftConstants : 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 

Member Function Documentation

◆ getInt()

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

◆ getPointer()

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

◆ updateInt()

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

◆ updatePointer()

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

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