Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FBitArrayMemory Class Reference

#include <BitArray.h>

Static Public Member Functions

static void MemmoveBitsWordOrder (uint32 *DestBits, int32 DestOffset, const uint32 *SourceBits, int32 SourceOffset, uint32 NumBits)
 
static void MemmoveBitsWordOrder (int32 *DestBits, int32 DestOffset, const int32 *SourceBits, int32 SourceOffset, uint32 NumBits)
 
static void ModularizeWordOffset (uint32 *&Data, int32 &Offset)
 
static void ModularizeWordOffset (uint32 const *&Data, int32 &Offset)
 

Static Private Member Functions

static void MemmoveBitsWordOrderAlignedInternal (uint32 *const StartDest, const uint32 *const StartSource, int32 StartOffset, uint32 NumBits)
 

Friends

class FBitArrayMemoryTest
 

Detailed Description

Definition at line 194 of file BitArray.h.

Member Function Documentation

◆ MemmoveBitsWordOrder() [1/2]

static void FBitArrayMemory::MemmoveBitsWordOrder ( int32 * DestBits,
int32 DestOffset,
const int32 * SourceBits,
int32 SourceOffset,
uint32 NumBits )
inlinestatic

Definition at line 210 of file BitArray.h.

+ Here is the call graph for this function:

◆ MemmoveBitsWordOrder() [2/2]

static void FBitArrayMemory::MemmoveBitsWordOrder ( uint32 * DestBits,
int32 DestOffset,
const uint32 * SourceBits,
int32 SourceOffset,
uint32 NumBits )
static

Copy NumBits bits from the source pointer and offset into the dest pointer and offset. This function is not suitable for general use because it uses a bit order that is specific to the uint32 internal storage of BitArray

Bits within each word are read or written in the current platform's mathematical bitorder (Data[0] & 0x1, Data[0] & 0x2, ... Data[0] & 0x100, ... Data[0] & 0x80000000, Data[1] & 0x1 ... Correctly handles overlap between destination range and source range; the array of destination bits will be a copy of the source bits as they were before the copy started.

Parameters
DestBitsThe base location to which the bits are written.
DestOffsetThe (word-order) bit within DestBits at which to start writing. Can be any value; offsets outside of [0,NumBitsPerDWORD) will be equivalent to modifying the DestBits pointer.
SourceBitsThe base location from which the bits are read.
SourceOffsetThe (word-order) bit within SourceBits at which to start reading. Can be any value; offsets outside of [0,NumBitsPerDWORD) will be equivalent to modifying the SourceBits pointer.
NumBitsNumber of bits to copy. Must be >= 0.
+ Here is the caller graph for this function:

◆ MemmoveBitsWordOrderAlignedInternal()

static void FBitArrayMemory::MemmoveBitsWordOrderAlignedInternal ( uint32 *const StartDest,
const uint32 *const StartSource,
int32 StartOffset,
uint32 NumBits )
staticprivate

Copy NumBits bits from the source pointer at the given offset into the dest pointer at the given offset. It has the same behavior as MemmoveBitsWordOrder under the constaint that DestOffset == SourceOffset.

◆ ModularizeWordOffset() [1/2]

static void FBitArrayMemory::ModularizeWordOffset ( uint32 *& Data,
int32 & Offset )
inlinestatic

Given Data and Offset that specify a specific bit in a specific word, modify Data and Offset so that they specify the same bit but that 0 <= Offset < NumBitsPerDWORD.

Definition at line 216 of file BitArray.h.

+ Here is the call graph for this function:

◆ ModularizeWordOffset() [2/2]

static void FBitArrayMemory::ModularizeWordOffset ( uint32 const *& Data,
int32 & Offset )
static

Given Data and Offset that specify a specific bit in a specific word, modify Data and Offset so that they specify the same bit but that 0 <= Offset < NumBitsPerDWORD.

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ FBitArrayMemoryTest

friend class FBitArrayMemoryTest
friend

Definition at line 232 of file BitArray.h.


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