Ark Server API (ASE) - Wiki
|
#include "../BasicTypes.h"
#include "../HAL/UnrealMemory.h"
#include "EnableIf.h"
#include "AreTypesEqual.h"
#include "IsTriviallyCopyConstructible.h"
#include "UnrealTypeTraits.h"
#include <new>
#include "IsTriviallyCopyAssignable.h"
#include "IsTriviallyDestructible.h"
Go to the source code of this file.
Classes | |
struct | UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType > |
Namespaces | |
namespace | UE4MemoryOps_Private |
Functions | |
template<typename ElementType > | |
FORCEINLINE TEnableIf<!TIsZeroConstructType< ElementType >::Value >::Type | DefaultConstructItems (void *Address, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf< TIsZeroConstructType< ElementType >::Value >::Type | DefaultConstructItems (void *Elements, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type | DestructItem (ElementType *Element) |
template<typename ElementType > | |
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type | DestructItem (ElementType *Element) |
template<typename ElementType > | |
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type | DestructItems (ElementType *Element, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type | DestructItems (ElementType *Elements, int32 Count) |
template<typename DestinationElementType , typename SourceElementType > | |
FORCEINLINE TEnableIf<!TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type | ConstructItems (void *Dest, const SourceElementType *Source, int32 Count) |
template<typename DestinationElementType , typename SourceElementType > | |
FORCEINLINE TEnableIf< TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type | ConstructItems (void *Dest, const SourceElementType *Source, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf<!TIsTriviallyCopyAssignable< ElementType >::Value >::Type | CopyAssignItems (ElementType *Dest, const ElementType *Source, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type | CopyAssignItems (ElementType *Dest, const ElementType *Source, int32 Count) |
template<typename DestinationElementType , typename SourceElementType > | |
FORCEINLINE TEnableIf<!UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type | RelocateConstructItems (void *Dest, const SourceElementType *Source, int32 Count) |
template<typename DestinationElementType , typename SourceElementType > | |
FORCEINLINE TEnableIf< UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type | RelocateConstructItems (void *Dest, const SourceElementType *Source, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf<!TIsTriviallyCopyConstructible< ElementType >::Value >::Type | MoveConstructItems (void *Dest, const ElementType *Source, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf< TIsTriviallyCopyConstructible< ElementType >::Value >::Type | MoveConstructItems (void *Dest, const ElementType *Source, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf<!TIsTriviallyCopyAssignable< ElementType >::Value >::Type | MoveAssignItems (ElementType *Dest, const ElementType *Source, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type | MoveAssignItems (ElementType *Dest, const ElementType *Source, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf< TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type | CompareItems (const ElementType *A, const ElementType *B, int32 Count) |
template<typename ElementType > | |
FORCEINLINE TEnableIf<!TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type | CompareItems (const ElementType *A, const ElementType *B, int32 Count) |
FORCEINLINE TEnableIf< TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type CompareItems | ( | const ElementType * | A, |
const ElementType * | B, | ||
int32 | Count ) |
Definition at line 256 of file MemoryOps.h.
FORCEINLINE TEnableIf<!TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type CompareItems | ( | const ElementType * | A, |
const ElementType * | B, | ||
int32 | Count ) |
Definition at line 263 of file MemoryOps.h.
FORCEINLINE TEnableIf<!TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type ConstructItems | ( | void * | Dest, |
const SourceElementType * | Source, | ||
int32 | Count ) |
Constructs a range of items into memory from a set of arguments. The arguments come from an another array.
Dest | The memory location to start copying into. |
Source | A pointer to the first argument to pass to the constructor. |
Count | The number of elements to copy. |
Definition at line 122 of file MemoryOps.h.
FORCEINLINE TEnableIf< TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type ConstructItems | ( | void * | Dest, |
const SourceElementType * | Source, | ||
int32 | Count ) |
Definition at line 135 of file MemoryOps.h.
FORCEINLINE TEnableIf<!TIsTriviallyCopyAssignable< ElementType >::Value >::Type CopyAssignItems | ( | ElementType * | Dest, |
const ElementType * | Source, | ||
int32 | Count ) |
Copy assigns a range of items.
Dest | The memory location to start assigning to. |
Source | A pointer to the first item to assign. |
Count | The number of elements to assign. |
Definition at line 149 of file MemoryOps.h.
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type CopyAssignItems | ( | ElementType * | Dest, |
const ElementType * | Source, | ||
int32 | Count ) |
FORCEINLINE TEnableIf<!TIsZeroConstructType< ElementType >::Value >::Type DefaultConstructItems | ( | void * | Address, |
int32 | Count ) |
Default constructs a range of items in memory.
Elements | The address of the first memory location to construct at. |
Count | The number of elements to destruct. |
Definition at line 43 of file MemoryOps.h.
FORCEINLINE TEnableIf< TIsZeroConstructType< ElementType >::Value >::Type DefaultConstructItems | ( | void * | Elements, |
int32 | Count ) |
Definition at line 56 of file MemoryOps.h.
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type DestructItem | ( | ElementType * | Element | ) |
Destructs a single item in memory.
Elements | A pointer to the item to destruct. |
Definition at line 70 of file MemoryOps.h.
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type DestructItem | ( | ElementType * | Element | ) |
Definition at line 80 of file MemoryOps.h.
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type DestructItems | ( | ElementType * | Element, |
int32 | Count ) |
Destructs a range of items in memory.
Elements | A pointer to the first item to destruct. |
Count | The number of elements to destruct. |
Definition at line 94 of file MemoryOps.h.
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type DestructItems | ( | ElementType * | Elements, |
int32 | Count ) |
Definition at line 109 of file MemoryOps.h.
FORCEINLINE TEnableIf<!TIsTriviallyCopyAssignable< ElementType >::Value >::Type MoveAssignItems | ( | ElementType * | Dest, |
const ElementType * | Source, | ||
int32 | Count ) |
Move assigns a range of items.
Dest | The memory location to start move assigning to. |
Source | A pointer to the first item to move assign. |
Count | The number of elements to move assign. |
Definition at line 238 of file MemoryOps.h.
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type MoveAssignItems | ( | ElementType * | Dest, |
const ElementType * | Source, | ||
int32 | Count ) |
Definition at line 250 of file MemoryOps.h.
FORCEINLINE TEnableIf<!TIsTriviallyCopyConstructible< ElementType >::Value >::Type MoveConstructItems | ( | void * | Dest, |
const ElementType * | Source, | ||
int32 | Count ) |
Move constructs a range of items into memory.
Dest | The memory location to start moving into. |
Source | A pointer to the first item to move from. |
Count | The number of elements to move. |
Definition at line 213 of file MemoryOps.h.
FORCEINLINE TEnableIf< TIsTriviallyCopyConstructible< ElementType >::Value >::Type MoveConstructItems | ( | void * | Dest, |
const ElementType * | Source, | ||
int32 | Count ) |
Definition at line 225 of file MemoryOps.h.
FORCEINLINE TEnableIf<!UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type RelocateConstructItems | ( | void * | Dest, |
const SourceElementType * | Source, | ||
int32 | 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.
Dest | The memory location to relocate to. |
Source | A pointer to the first item to relocate. |
Count | The number of elements to relocate. |
Definition at line 177 of file MemoryOps.h.
FORCEINLINE TEnableIf< UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type RelocateConstructItems | ( | void * | Dest, |
const SourceElementType * | Source, | ||
int32 | Count ) |