DDNet documentation
Loading...
Searching...
No Matches
Memory

Functions

void mem_copy (void *dest, const void *source, size_t size)
void mem_move (void *dest, const void *source, size_t size)
template<typename T>
void mem_zero (T *block, size_t size)
int mem_comp (const void *a, const void *b, size_t size)
bool mem_has_null (const void *block, size_t size)
bool mem_is_null (const void *block, size_t size)

Detailed Description

Memory management utilities.

Function Documentation

◆ mem_comp()

int mem_comp ( const void * a,
const void * b,
size_t size )

Compares two blocks of memory of the same size, lexicographically.

Parameters
aFirst block of data.
bSecond block of data.
sizeSize of the data to compare.
Returns
< 0 if block a is less than block b.
0 if block a is equal to block b.
> 0 if block a is greater than block b.

◆ mem_copy()

void mem_copy ( void * dest,
const void * source,
size_t size )

Copies a memory block.

Parameters
destDestination.
sourceSource to copy.
sizeSize of the block to copy.
Remarks
This functions DOES NOT handle cases where the source and destination overlap.
See also
mem_move

◆ mem_has_null()

bool mem_has_null ( const void * block,
size_t size )

Checks whether a block of memory contains any null bytes.

Parameters
blockPointer to the block to check for nulls.
sizeSize of the block.
Returns
true if the block has a null byte, false otherwise.

◆ mem_is_null()

bool mem_is_null ( const void * block,
size_t size )

Checks whether a block of memory contains exclusively null bytes.

Parameters
blockPointer to the block to check for nulls.
sizeSize of the block.
Returns
true if the block is all null bytes, false otherwise.

◆ mem_move()

void mem_move ( void * dest,
const void * source,
size_t size )

Copies a memory block.

Parameters
destDestination.
sourceSource to copy.
sizeSize of the block to copy.
Remarks
This functions handles the cases where the source and destination overlap.
See also
mem_copy

◆ mem_zero()

template<typename T>
void mem_zero ( T * block,
size_t size )
inline

Sets a complete memory block to 0.

Parameters
blockPointer to the block to zero out.
sizeSize of the block.