Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
MemoryOps.h File Reference
+ Include dependency graph for MemoryOps.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UE::Core::Private::MemoryOps::TCanBitwiseRelocate< DestinationElementType, SourceElementType >
 

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::Private
 
namespace  UE::Core::Private::MemoryOps
 

Functions

template<typename ElementType , typename SizeType >
FORCEINLINE void DefaultConstructItems (void *Address, SizeType Count)
 
template<typename ElementType >
FORCEINLINE void DestructItem (ElementType *Element)
 
template<typename ElementType , typename SizeType >
FORCEINLINE void DestructItems (ElementType *Element, SizeType Count)
 
template<typename DestinationElementType , typename SourceElementType , typename SizeType >
FORCEINLINE void ConstructItems (void *Dest, const SourceElementType *Source, SizeType Count)
 
template<typename ElementType , typename SizeType >
FORCEINLINE void CopyAssignItems (ElementType *Dest, const ElementType *Source, SizeType Count)
 
template<typename DestinationElementType , typename SourceElementType , typename SizeType >
FORCEINLINE void RelocateConstructItems (void *Dest, const SourceElementType *Source, SizeType Count)
 
template<typename ElementType , typename SizeType >
FORCEINLINE void MoveConstructItems (void *Dest, const ElementType *Source, SizeType Count)
 
template<typename ElementType , typename SizeType >
FORCEINLINE void MoveAssignItems (ElementType *Dest, const ElementType *Source, SizeType Count)
 
template<typename ElementType , typename SizeType >
FORCEINLINE bool CompareItems (const ElementType *A, const ElementType *B, SizeType Count)
 

Function Documentation

◆ CompareItems()

template<typename ElementType , typename SizeType >
FORCEINLINE bool CompareItems ( const ElementType * A,
const ElementType * B,
SizeType Count )

Definition at line 244 of file MemoryOps.h.

◆ ConstructItems()

FORCEINLINE void ConstructItems ( void * Dest,
const SourceElementType * Source,
SizeType Count )

Constructs a range of items into memory from a set of arguments. The arguments come from an another array.

Parameters
DestThe memory location to start copying into.
SourceA pointer to the first argument to pass to the constructor.
CountThe number of elements to copy.

Definition at line 109 of file MemoryOps.h.

◆ CopyAssignItems()

template<typename ElementType , typename SizeType >
FORCEINLINE void CopyAssignItems ( ElementType * Dest,
const ElementType * Source,
SizeType Count )

Copy assigns a range of items.

Parameters
DestThe memory location to start assigning to.
SourceA pointer to the first item to assign.
CountThe number of elements to assign.

Definition at line 135 of file MemoryOps.h.

◆ DefaultConstructItems()

template<typename ElementType , typename SizeType >
FORCEINLINE void DefaultConstructItems ( void * Address,
SizeType Count )

Default constructs a range of items in memory.

Parameters
ElementsThe address of the first memory location to construct at.
CountThe number of elements to destruct.

Definition at line 39 of file MemoryOps.h.

◆ DestructItem()

template<typename ElementType >
FORCEINLINE void DestructItem ( ElementType * Element)

Destructs a single item in memory.

Parameters
ElementsA pointer to the item to destruct.
Note
: This function is optimized for values of T, and so will not dynamically dispatch destructor calls if T's destructor is virtual.

Definition at line 65 of file MemoryOps.h.

◆ DestructItems()

template<typename ElementType , typename SizeType >
FORCEINLINE void DestructItems ( ElementType * Element,
SizeType Count )

Destructs a range of items in memory.

Parameters
ElementsA pointer to the first item to destruct.
CountThe number of elements to destruct.
Note
: This function is optimized for values of T, and so will not dynamically dispatch destructor calls if T's destructor is virtual.

Definition at line 85 of file MemoryOps.h.

◆ MoveAssignItems()

template<typename ElementType , typename SizeType >
FORCEINLINE void MoveAssignItems ( ElementType * Dest,
const ElementType * Source,
SizeType Count )

Move assigns a range of items.

Parameters
DestThe memory location to start move assigning to.
SourceA pointer to the first item to move assign.
CountThe number of elements to move assign.

Definition at line 225 of file MemoryOps.h.

◆ MoveConstructItems()

template<typename ElementType , typename SizeType >
FORCEINLINE void MoveConstructItems ( void * Dest,
const ElementType * Source,
SizeType Count )

Move constructs a range of items into memory.

Parameters
DestThe memory location to start moving into.
SourceA pointer to the first item to move from.
CountThe number of elements to move.

Definition at line 199 of file MemoryOps.h.

◆ RelocateConstructItems()

FORCEINLINE void RelocateConstructItems ( void * Dest,
const SourceElementType * Source,
SizeType Count )

Relocates a range of items to a new memory location as a new type. This is a so-called 'destructive move' for which there is no single operation in C++ but which can be implemented very efficiently in general.

Parameters
DestThe memory location to relocate to.
SourceA pointer to the first item to relocate.
CountThe number of elements to relocate.

Definition at line 162 of file MemoryOps.h.