Navigation
API > API/Runtime > API/Runtime/uLangCore > API/Runtime/uLangCore/uLang > API/Runtime/uLangCore/uLang/Common
Classes
| Type | Name | Description | |
|---|---|---|---|
| CAllocatorInstance | This allows smart pointers to free object memory they are holding on to Passing the allocator itself to the free function allows allocation from multiple instances of an allocator and returning memory to the appropriate instance it was allocated from | ||
| CArenaAllocator | Allocates from a series of arenas Memory blocks can not be individually deallocated Deleting this allocator will free all allocated memory NOT thread safe (on purpose, for efficiency) | ||
| CHeapRawAllocator | Raw memory allocator that allocates memory from the global heap. | ||
| CInstancedRawAllocator | Raw memory allocator that keeps a pointer to an allocator instance which is used for allocation. | ||
| SScriptContainerElement | A type which is used to represent a script type that is unknown at compile time. | ||
| TAllocatorTraits | |||
| TAllocatorTraitsBase | |||
| TCanBitwiseRelocate | |||
| TDefaultElementAllocator | The indirect allocation policy always allocates the elements indirectly. | ||
| TInlineElementAllocator | The inline allocation policy allocates up to a specified number of elements in the same allocation as the container. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| uLang:: | Copyright Epic Games, Inc. All Rights Reserved. | ||
| uLang::EObserverId | Id type for observer pointers. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| ULANG_FORCEINLINE void | operator delete
(
void* Memory, |
Unfortunately, C++ does not have a clean syntax to invoke custom delete operators so this is a bit useless... | |
| ULANG_FORCEINLINE void | operator delete
(
void* Memory, |
Unfortunately, C++ does not have a clean syntax to invoke custom delete operators so this is a bit useless... | |
| ULANG_FORCEINLINE void * | operator new
(
size_t NumBytes, |
Deliberately NOT implementing new[] and delete[] here. | |
| ULANG_FORCEINLINE void * | operator new
(
size_t NumBytes, |
Deliberately NOT implementing new[] and delete[] here. | |
| ULANG_FORCEINLINETEnableIfTTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type | uLang::CompareElements
(
const ElementType* A, |
||
| ULANG_FORCEINLINETEnableIf< TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type | uLang::CompareElements
(
const ElementType* A, |
||
| ULANG_FORCEINLINETEnableIf< TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Va... | uLang::ConstructElements
(
void* Dest, |
||
| ULANG_FORCEINLINETEnableIfTIsBitwiseConstructible< DestinationElementType, SourceElementType >... | uLang::ConstructElements
(
void* Dest, |
Constructs a range of items into memory from a set of arguments. | |
| ULANG_FORCEINLINE int32_t | uLang::DefaultCalculateSlackGrow
(
int32_t NumElements, |
||
| ULANG_FORCEINLINE int32_t | uLang::DefaultCalculateSlackReserve
(
int32_t NumElements, |
||
| ULANG_FORCEINLINE int32_t | uLang::DefaultCalculateSlackShrink
(
int32_t NumElements, |
||
| ULANG_FORCEINLINETEnableIfTIsZeroConstructType< ElementType >::Value >::Type | uLang::DefaultConstructElements
(
void* Address, |
Default constructs a range of items in memory. | |
| ULANG_FORCEINLINETEnableIf< TIsZeroConstructType< ElementType >::Value >::Type | uLang::DefaultConstructElements
(
void* Elements, |
||
| ULANG_FORCEINLINE size_t | uLang::DefaultQuantizeSize
(
size_t Count, |
TODO: Implement for special allocators such as binned allocators | |
| ULANG_FORCEINLINETEnableIfTIsTriviallyDestructible< ElementType >::Value >::Type | uLang::DestructElement
(
ElementType* Element |
Destructs a single item in memory. | |
| ULANG_FORCEINLINETEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type | uLang::DestructElement
(
ElementType* Element |
||
| ULANG_FORCEINLINETEnableIfTIsTriviallyDestructible< ElementType >::Value >::Type | uLang::DestructElements
(
ElementType* Element, |
Destructs a range of items in memory. | |
| ULANG_FORCEINLINETEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type | uLang::DestructElements
(
ElementType* Elements, |
||
| ULANG_FORCEINLINETEnableIfPrivate::TCanBitwiseRelocate< DestinationElementType, SourceElementT... | uLang::RelocateConstructElements
(
void* Dest, |
Relocates a range of items to a new memory location as a new type. | |
| ULANG_FORCEINLINETEnableIf< Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType ... | uLang::RelocateConstructElements
(
void* Dest, |
||
| ULANG_FORCEINLINE uint32_t | uLang::RotateCRC32
(
uint32_t CRC |
Compute a new CRC32 from a given CRC32 by rotating one bit Due to the nature of CRCs, this will exactly iterate through all possible 32-bit values except for 0 |