WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
wpi::util::PointerIntPairInfo< PointerT, IntBits, PtrTraits > Struct Template Reference

#include <wpi/util/PointerIntPair.hpp>

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::util::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>
intptr_t wpi::util::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::getInt ( intptr_t Value)
inlinestatic

◆ getPointer()

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

◆ updateInt()

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

◆ updatePointer()

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

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