code: [TPagedArray](API\Runtime\Core\Containers\TPagedArray) & operator= ( [TPagedArray](API\Runtime\Core\Containers\TPagedArray) && Other )


module: Core

code: [TPagedArray](API\Runtime\Core\Containers\TPagedArray) & operator= ( const [TPagedArray](API\Runtime\Core\Containers\TPagedArray) & Other )


code: [TPagedArray](API\Runtime\Core\Containers\TPagedArray) & operator= ( std::initializer_list< [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType) > InList )


description: Friend operators.

code: bool operator== ( const [TPagedArray](API\Runtime\Core\Containers\TPagedArray) & Right ) const


code: bool operator!= ( const [TPagedArray](API\Runtime\Core\Containers\TPagedArray) & Right ) const


code: const [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType) & operator[] ( [SizeType](API\Runtime\Core\Containers\TPagedArray\SizeType) Index ) const


code: [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType) & operator[] ( [SizeType](API\Runtime\Core\Containers\TPagedArray\SizeType) Index )


className: PageTraits

code: typedef [UE::Core::PagedArray::Private::TPageTraits](API\Runtime\Core\Containers\TPageTraits)< InElementType, InPageSizeInBytes > PageTraits


className: PageType

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< InElementType, InAllocatorType > PageType


description: Removes the last element in the container.

code: void Pop ( bool bAllowShrinking )


code: void Push ( const [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType) & Element )


code: void Push ( [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType) && Element )


description: Removes the element at the parameter index position and swaps the last element if existent to the same position to ensure the range is contiguous. This method provides efficient removal O(1) but it doesn't preserve the insertion order.

code: void RemoveAtSwap ( [SizeType](API\Runtime\Core\Containers\TPagedArray\SizeType) Index, bool bAllowShrinking )


description: Destroys all contained elements but doesn't release the container's storage.

code: void Reset()


description: Destroys all contained elements and ensures storage for the parameter capacity. Storage is only acquired if the current container's storage cannot meet the parameter capacity value.

code: void Reset ( [SizeType](API\Runtime\Core\Containers\TPagedArray\SizeType) InCapacity )


description: Fills the memory used by the container elements with the parameter byte value.

code: void SetMem ( uint8 ByteValue )


description: Resizes array to the parameter number of elements. The allow shrinking parameter indicates whether the container page allocation can be reduced if possible.

code: void SetNum ( [SizeType](API\Runtime\Core\Containers\TPagedArray\SizeType) NewNum, bool bAllowShrinking )


description: Sets the memory used by the container elements to zero.

code: void SetZero()


className: SizeType

code: typedef typename InAllocatorType::SizeType SizeType


description: Reserves storage for the parameter element count.

code: void Reserve ( [SizeType](API\Runtime\Core\Containers\TPagedArray\SizeType) InCount )


description: Copies this container elements into the parameter destination array.

code: template<typename AnyAllocator> void ToArray ( [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType), AnyAllocator > & OutDestination ) const


description: Moves this container elements into the parameter destination array.

code: template<typename AnyAllocator> void ToArray ( [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType), AnyAllocator > & OutDestination )


code: TPagedArray ( const [TPagedArray](API\Runtime\Core\Containers\TPagedArray) & Other )


code: TPagedArray ( [TPagedArray](API\Runtime\Core\Containers\TPagedArray) && Other )


code: TPagedArray ( std::initializer_list< [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType) > InList )


code: TPagedArray ( const [ElementType](API\Runtime\Core\Containers\TPagedArray\ElementType) * InSource, [SizeType](API\Runtime\Core\Containers\TPagedArray\SizeType) InSize )


className: Capacity

code: static constexpr int32 Capacity = Size / sizeof(ElementType);


className: TPagedArray

description: The contained elements' addresses are persistent as long as the container isn't resized.

code: template<typename InElementType, int32 InPageSizeInBytes, typename InAllocatorType> class TPagedArray


className: ElementType

code: typedef InElementType ElementType


className: Size

code: static constexpr int32 Size = InPageSizeInBytes;


className: TPageTraits

description: Page traits struct forTPagedArray.

code: template<typename InElementType, int32 InPageSizeInBytes> struct TPageTraits


className: TPairInitializer::operator TPair< KeyType, ValueType >

code: template<typename KeyType, typename ValueType> operator TPair< KeyType, ValueType >() const


description: Implicit conversion to pair initializer.

code: template<typename KeyType, typename ValueType> TPairInitializer ( const TPair< KeyType, ValueType > & Pair )


description: Initialization constructor.

code: TPairInitializer ( KeyInitType InKey, ValueInitType InValue )


className: TPairInitializer

description: An initializer type for pairs that's passed to the pair set when adding a new pair.

code: template<typename KeyInitType, typename ValueInitType> class TPairInitializer

Key

type: TRValueToLValue...


description: Setting to UE_LIFETIMEBOUND even thoughTPassthruPointerdoesn't own the pointer, because we want StringMemoryPassthru to give consistent warnings no matter what implementation choice it makes

code: T * Get() const


description: Pop

code: void Empty()


className: TPassthruPointer

description: This seemingly-pointless class is intended to be API-compatible withTStringPassthruand is returned by StringPassthru when no string conversion is necessary.

code: template<typename T> class TPassthruPointer


description: Pop

code: bool Dequeue ( [FElementType](API\Runtime\Core\Containers\TQueue\FElementType) & OutItem )


description: Pop

code: bool Enqueue ( const [FElementType](API\Runtime\Core\Containers\TQueue\FElementType) & Item )


description: Pop

code: bool Enqueue ( [FElementType](API\Runtime\Core\Containers\TQueue\FElementType) && Item )


description: Pop

code: bool IsEmpty() const


description:
This version of Peek allows peeking at a queue of items that do not allow copying, such asTUniquePtr.
Pointer to the item, or nullptr if queue is empty


code: const [FElementType](API\Runtime\Core\Containers\TQueue\FElementType) * Peek() const


description: Pop

code: bool Peek ( [FElementType](API\Runtime\Core\Containers\TQueue\FElementType) & OutItem ) const


description: Default constructor.

code: TQueue()


description: Peek

code: bool Pop()


description: Hidden copy constructor.

code: TQueue &40; const TQueue & &41;


description: Destructor.

code: ~TQueue()


className: TQueue

description: The queue is thread-safe in both modes. TheDequeue()method ensures thread-safety by writing it in a way that does not depend on possible instruction reordering on the CPU. TheEnqueue()method uses an atomic compare-and-swap in multiple-producers scenarios.

code: template<typename T, EQueueMode Mode> class TQueue


description: IMPORTANT:

code: void BulkSerialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, bool bForcePerElementSerialization )


className: CounterBase

code: static constexpr int CounterBase = __COUNTER__;


description: Called on non-UMA systems after the RHI has copied the resource data, and no longer needs the CPU's copy. Only discard the resource memory on clients, and if the CPU doesn't need access to it. Non-clients can't discard the data because they may need to serialize it.

code: virtual void Discard()


description: true if the resource keeps a copy of its resource data after the RHI resource has been created

code: virtual bool GetAllowCPUAccess() const


description: A pointer to the resource data.

code: virtual const void * GetResourceData() const


description: size of resource data allocation

code: virtual uint32 GetResourceDataSize() const


code: virtual const [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & GetTypeLayout() const


className: InterfaceType

code: static constexpr [ETypeLayoutInterface::Type](API\Runtime\Core\Serialization\ETypeLayoutInterface__Type) InterfaceType = ETypeLayoutInterface:: Virtual;


code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


description: Initialize(FTypeLayoutDesc& TypeDesc)

code: template<> struct InternalLinkType< COUNTER-CounterBase >


className: InternalLinkType

description: InternalLinkType<COUNTER-CounterBase >

code: template<int Counter> struct InternalLinkType


description: true if the resource array is static and shouldn't be modified

code: virtual bool IsStatic() const


code: [TResourceArray](API\Runtime\Core\Containers\TResourceArray) & operator= ( const [TResourceArray](API\Runtime\Core\Containers\TResourceArray) & )


description: Assignment operators.

code: [TResourceArray](API\Runtime\Core\Containers\TResourceArray) & operator= ( const [Super](API\Runtime\Core\Containers\TResourceArray\Super) & Other )


className: ParentArrayType

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TArray\ElementType), [TMemoryImageAllocator](API\Runtime\Core\Serialization\TMemoryImageAllocator)< Alignment >> ParentArrayType


description: Sets whether the resource array will be accessed by CPU.

code: virtual void SetAllowCPUAccess ( bool bInNeedsCPUAccess )


code: static [FTypeLayoutDesc](API\Runtime\Core\Serialization\FTypeLayoutDesc) & StaticGetTypeLayout()


code: [TResourceArray](API\Runtime\Core\Containers\TResourceArray) & operator= ( [TResourceArray](API\Runtime\Core\Containers\TResourceArray) && )


description: Constructor

code: TResourceArray ( bool InNeedsCPUAccess )


code: TResourceArray ( [TResourceArray](API\Runtime\Core\Containers\TResourceArray) && )


code: TResourceArray ( const [TResourceArray](API\Runtime\Core\Containers\TResourceArray) & )


className: TResourceArray

description: A array which allocates memory which can be used for UMA rendering resources. In the dynamically bound RHI, it isn't any different from the default array type, since none of the dynamically bound RHI implementations have UMA.

code: template<typename ElementType, uint32 Alignment> class TResourceArray : public [FResourceArrayInterface](API\Runtime\Core\Containers\FResourceArrayInterface), public [TArray< ElementType, TMemoryImageAllocator< Alignment > >](API\Runtime\Core\Containers\TArray)


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The new element is move constructed from the argument. Returns the index of the added element.

code: [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Add ( [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) && Element )


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The new element is copy constructed from the argument. Returns the index to the added element.

code: [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Add ( const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Element )


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The new element is move constructed from the argument. Returns the index of the added element.

code: [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) AddFront ( [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) && Element )


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The new element is copy constructed from the argument. Returns the index to the added element.

code: [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) AddFront ( const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Element )


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The constructor is not called on the new element and its values in memory are arbitrary. Returns the index to the added element.


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The new element is move constructed from the argument. Returns a reference to the added element.

code: [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & AddFront_GetRef ( [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) && Element )


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The constructor is not called on the new element and its values in memory are arbitrary. Returns a reference to the added element.


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The new element is copy constructed from the argument. Returns a reference to the added element.

code: [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & AddFront_GetRef ( const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Element )


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The constructor is not called on the new element and its values in memory are arbitrary. Returns a reference to the added element.


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The constructor is not called on the new element and its values in memory are arbitrary. Returns the index to the added element.


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The new element is move constructed from the argument. Returns a reference to the added element.

code: [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Add_GetRef ( [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) && Element )


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The new element is copy constructed from the argument. Returns a reference to the added element.

code: [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Add_GetRef ( const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Element )


className: Allocator

description: The Allocator type being used

code: typedef AllocatorT Allocator


description: Begin iterator for ranged-for


description: Begin iterator for const ranged-for


description:
Gets the first data word in the FIFO (i.e. oldest).
The first data word

code: const [DataType](API\Plugins\OptimusCore\DataType) & Bottom() const


description:
Gets the buffer index that the first data word is stored in.
The first data word

code: uint32 BottomIndex() const


description: Shift all elements so that the front pointer's location in memory is less than the back pointer's. Returns a temporary ArrayView for the RingBuffer's elements; the returned ArrayView will be invalid after the next write operation on the RingBuffer.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > Compact()


description: Given a pointer to an Element anywhere in memory, return the index of the element in the RingBuffer, or INDEX_NONE if it is not present.

code: [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) ConvertPointerToIndex ( const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) * Ptr ) const


description:
Take the next data word from the FIFO buffer.
true if the buffer was not empty, false otherwise.

code: bool Dequeue ( [DataType](API\Plugins\OptimusCore\DataType) & ValOut )


description:
Take the next set of data words from the FIFO buffer.
the number of words actually copied

code: uint32 Dequeue ( [DataType](API\Plugins\OptimusCore\DataType) * ValBuf, const uint32 & BufLen )


description: Type of the Elements in the container.

code: typedef T ElementType


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The new element is constructed from the given arguments. Returns the index to the added element.

code: template<typename... ArgsType> [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Emplace ( ArgsType &&... Args )


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The new element is constructed from the given arguments. Returns the index to the added element.

code: template<typename... ArgsType> [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) EmplaceFront ( ArgsType &&... Args )


description: Add a new element before the front pointer of the RingBuffer, resizing if necessary. The new element is constructed from the given arguments. Returns a reference to the added element.

code: template<typename... ArgsType> [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & EmplaceFront_GetRef ( ArgsType &&... Args )


description: Add a new element after the back pointer of the RingBuffer, resizing if necessary. The new element is constructed from the given arguments. Returns a reference to the added element.

code: template<typename... ArgsType> [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Emplace_GetRef ( ArgsType &&... Args )


description: Clears memory and indexes

code: void Empty()


description: Empty the RingBuffer, destructing any elements and releasing the RingBuffer's storage. Sets the new capacity after release to the given capacity.

code: void Empty ( [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) Capacity )


description: End iterator for ranged-for


description: End iterator for const ranged-for


description: Pushes a data word to the end of the FIFO. WILL OVERWRITE OLDEST if full.

code: void Enqueue ( const [DataType](API\Plugins\OptimusCore\DataType) & Val )


description: Pushes a buffer of data words to the end of the FIFO. WILL OVERWRITE OLDEST if full.

code: void Enqueue ( const [DataType](API\Plugins\OptimusCore\DataType) * ValBuf, const uint32 & BufLen )


description: Return a reference to the element at the front pointer of the RingBuffer. Invalid to call on an empty RingBuffer.


description: Return a const reference to the element at the front pointer of the RingBuffer. Invalid to call on an empty RingBuffer.

code: const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & First() const


description:
Helper function to return the amount of memory allocated by this container. Only returns the size of allocations made directly by the container, not the elements themselves.
Number of bytes allocated by this container.

code: SIZE_T GetAllocatedSize() const


description: Unsafely return a writable reference to the value at the givenIndex. Invalid to call (and does not warn) with an index less than 0 or greater than or equal to the number of elements in the RingBuffer.

code: [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & GetAtIndexNoCheck ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index )


description: Unsafely return a const reference to the value at the givenIndex. Invalid to call (and does not warn) with an index less than 0 or greater than or equal to the number of elements in the RingBuffer.

code: const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & GetAtIndexNoCheck ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index ) const


className: IndexType

description: Type used to request values at a given index in the container.

code: typedef [TMakeSigned](API\Runtime\Core\Templates\TMakeSigned)< typename Allocator::SizeType >::Type IndexType


description: Get the SHA1 hash for the data currently in the FIFO

code: void GetShaHash ( [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & OutHash ) const


description: Returns true if the RingBuffer is empty.

code: bool IsEmpty() const


description: Tests if index is valid, i.e. greater than or equal to zero, and less than the number of elements in the array.

code: bool IsValidIndex ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index ) const


description: Return a reference to the element at the back pointer of the RingBuffer. Invalid to call on an empty RingBuffer.


description: Return a const reference to the element at the back pointer of the RingBuffer. Invalid to call on an empty RingBuffer.

code: const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Last() const


description: Current allocated Capacity, note this will always be a power of two, or the special case 0.


description:
Gets the buffer index that the next enqueued word will get stored in.
The index that the next enqueued word will have

code: uint32 NextIndex() const


description: Append elements from a range onto the back pointer of the RingBuffer, resizing if necessary. Each element is move-constructed into the RingBuffer; source elements may therefore be modified.

code: void MoveAppendRange ( [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) * OtherData, [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) OtherNum )


description: Gets the number of elements in the RingBuffer.


code: [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer) & operator= ( [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer) && Other )


code: [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer) & operator= ( const [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer) & Other )


code: template<typename OtherAllocator> bool operator== ( const [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer)< [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType), OtherAllocator > & Other ) const


code: template<typename OtherAllocator> bool operator!= ( const [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer)< [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType), OtherAllocator > & Other ) const


description: Return a writable reference to the value at the givenIndex. Invalid to call with an index less than 0 or greater than or equal to the number of elements in the RingBuffer.

code: [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & operator[] ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index )


description: Return a const reference to the value at the givenIndex. Invalid to call with an index less than 0 or greater than or equal to the number of elements in the RingBuffer.

code: const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & operator[] ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index ) const


description:
Square bracket operators for accessing data in the buffer by FIFO index. [0] returns the next entry in the FIFO that would get provided by Dequeue or Peek.
The data word

code: const [DataType](API\Plugins\OptimusCore\DataType) & operator[] ( const int32 & Index ) const


code: [DataType](API\Plugins\OptimusCore\DataType) & operator[] ( const int32 & Index )


description:
Get the next data word from the FIFO buffer without removing it.
true if the buffer was not empty, false otherwise.

code: bool Peek ( [DataType](API\Plugins\OptimusCore\DataType) & ValOut ) const


description:
Get the next set of data words from the FIFO buffer without removing them.
the number of words actually copied

code: uint32 Peek ( [DataType](API\Plugins\OptimusCore\DataType) * ValBuf, const uint32 & BufLen ) const


description: Pop the given number of arguments (default: 1) from the back pointer of the RingBuffer. Invalid to call with a number of elements greater than the current number of elements in the RingBuffer.

code: void Pop ( [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) PopCount )


description: Pop the given number of elements (default: 1) from the front pointer of the RingBuffer. Invalid to call with a number of elements greater than the current number of elements in the RingBuffer.

code: void PopFront ( [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) PopCount )


description: Unsafely pop the given number of arguments (default: 1) from the front pointer of the RingBuffer. Invalid to call (and does not warn) with a number of elements greater than the current number of elements in the RingBuffer.

code: void PopFrontNoCheck ( [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) PopCount )


description: Pop one element from the front pointer of the RingBuffer and return the popped value. Invalid to call when the RingBuffer is empty.


description: Pop the given number of elements (default: 1) from the back pointer of the RingBuffer. Invalid to call (and does not warn) with a number of elements greater than the current number of elements in the RingBuffer.

code: void PopNoCheck ( [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) PopCount )


description: Pop one element from the back pointer of the RingBuffer and return the popped value. Invalid to call when the RingBuffer is empty.


description:
Removes as many instances of Item as there are in the array, maintaining order but not indices.
Number of removed elements.

code: [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) Remove ( const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) & Item )


code: template<typename PredicateType> [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) RemoveAll ( PredicateType Predicate )


description: Remove the value at the given index from the RingBuffer, and shift values ahead or behind it into its location to fill the hole. It is valid to call withIndexoutside of the range of the array; does nothing in that case.

code: void RemoveAt ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index )


description: Set the capacity to the maximum of the current capacity and the (next power of two greater than or equal to) the given capacity.

code: void Reserve ( [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) RequiredCapacity )


description: Empty the RingBuffer, destructing any elements in the RingBuffer but not releasing the RingBuffer's storage.

code: void Reset()


description:
Gets the size of the data buffer.
Template arg BufferDataSize

code: uint32 RingDataSize() const


code: int32 SerialCompare ( const [DataType](API\Plugins\OptimusCore\DataType) * SerialBuffer, uint32 CompareLen ) const


description: Serializes the internal buffer into the given buffer

code: void Serialize ( [DataType](API\Plugins\OptimusCore\DataType) * SerialBuffer ) const


description: Move the value at the given index into the back pointer of the RingBuffer, and shift all elements behind of it up by one to make room for it. Invalid to call with an index less than 0 or greater than or equal to the number of elements in the RingBuffer.

code: void ShiftIndexToBack ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index )


className: SizeType

description: Type used to communicate size and capacity and counts

code: typedef [TMakeUnsigned](API\Runtime\Core\Templates\TMakeUnsigned)< typename Allocator::SizeType >::Type SizeType


className: StorageModuloType

description: Type used for variables that are indexes into the underlying storage. StorageModuloType types are offsets from the beginning of storage, and any bits outside of IndexMask are discarded. They may have added on multiples of the capacity due to wrapping around, but will be interpreted as pointing to the value at (value & IndexMask). StorageModuloTypes are also allowed to underflow/overflow their integer storage type; the only constraint is that X - Front <= Capacity for all valid indexes and for AfterBack.

code: typedef [TMakeUnsigned](API\Runtime\Core\Templates\TMakeUnsigned)< typename Allocator::SizeType >::Type StorageModuloType


className: TConstIterator

code: typedef [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator)< const [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer), const [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType), typename Allocator::SizeType > TConstIterator


className: TIterator

description: Iterator type used for ranged-for traversal.

code: typedef [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator)< [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer), [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType), typename Allocator::SizeType > TIterator


description:
Gets the last data word in the FIFO (i.e. most recently pushed).
The last data word

code: const [DataType](API\Plugins\OptimusCore\DataType) & Top() const


description: Move the value at the given index into the front pointer of the RingBuffer, and shift all elements ahead of it down by one to make room for it. Invalid to call with a negative index or index greater than the number of elements in the RingBuffer.

code: void ShiftIndexToFront ( [IndexType](API\Runtime\Core\Containers\TRingBuffer\IndexType) Index )


description:
Gets the number of words currently in the FIFO.
data size

code: uint32 RingDataUsage() const


description:
Gets the buffer index that the last data word is stored in.
The last data word

code: uint32 TopIndex() const


description:
Gets the total number of words that have been pushed through this buffer since clearing
total length of data passed through

code: uint64 TotalDataPushed() const


description: Set the capacity to the minimum power of two (or 0) greater than or equal to the current number of elements in the RingBuffer.

code: void Trim()


description: Construct Empty Queue with capacity 0.

code: TRingBuffer()


description: Construct Empty Queue with the given initial requested capacity.

code: TRingBuffer ( [SizeType](API\Runtime\Core\Containers\TRingBuffer\SizeType) InitialCapacity )


description: Construct a Queue with initial state (from front to back) equal to the given list.

code: TRingBuffer ( std::initializer_list< [ElementType](API\Runtime\Core\Containers\TRingBuffer\ElementType) > InitList )


code: TRingBuffer ( [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer) && Other )


description: TRingBufferimplementation

code: TRingBuffer ( uint32 BufferDataSize )


code: TRingBuffer ( const [TRingBuffer](API\Runtime\Core\Containers\TRingBuffer) & Other )


description: Default Destructor

code: ~TRingBuffer()


className: TRingBuffer

description: Implementation Details: Relies on unsigned arithmetics and ever increasing Front and Back indices to avoid having to store an extra element or maintain explicit empty state. Capacity will always be rounded up to the next power of two, to provide rapid masking of the index.

code: template<typename T, typename AllocatorT> class TRingBuffer


description: Returns an index to the current element.

code: SizeType GetIndex() const


className: TRingBufferIterator::operator bool

description: Conversion to "bool" returning true if the iterator has not reached the last element.

code: operator bool() const


code: [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) operator+ ( SizeType Offset ) const


description: Iterator arithmetic support

code: [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) & operator+= ( SizeType Offset )


code: bool operator== ( const [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) & Rhs ) const


code: bool operator!= ( const [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) & Rhs ) const


code: [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) operator-- ( int )


description: Moves iterator to the previous element in the container.


code: [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) operator++ ( int )


description: Advances iterator to the next element in the container.


code: [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) operator- ( SizeType Offset ) const


code: [TRingBufferIterator](API\Runtime\Core\Containers\TRingBufferIterator) & operator-= ( SizeType Offset )


description: Removes current element in array. This invalidates the current iterator value and it must be incremented

code: void RemoveCurrent()


description: Resets the iterator to the first element.

code: void Reset()


description: Sets the iterator to one past the last element.

code: void SetToEnd()


code: TRingBufferIterator ( ContainerType & InContainer, SizeType StartIndex )


className: TRingBufferIterator

code: template<typename ContainerType, typename ElementType, typename SizeType> class TRingBufferIterator


code: int32 Add ( int32 Count, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: int32 AddZeroed ( int32 Count, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void CheckAddress ( const void * Addr, int32 NumBytesPerElement ) const


code: void CountBytes ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, int32 NumBytesPerElement ) const


code: void Empty ( int32 Slack, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: SIZE_T GetAllocatedSize ( int32 NumBytesPerElement ) const


description: Returns the amount of slack in this array in elements.

code: int32 GetSlack() const


code: void Insert ( int32 Index, int32 Count, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void InsertZeroed ( int32 Index, int32 Count, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void MoveAssign ( [TScriptArray](API\Runtime\Core\Containers\TScriptArray) & Other, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void operator= ( const [TScriptArray](API\Runtime\Core\Containers\TScriptArray) & )


code: void Remove ( int32 Index, int32 Count, int32 NumBytesPerElement, uint32 AlignmentOfElement, bool bAllowShrinking )


code: void ResizeTo ( int32 NewMax, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void SetNumUninitialized ( int32 NewNum, int32 NumBytesPerElement, uint32 AlignmentOfElement, bool bAllowShrinking )


code: void Reset ( int32 NewSize, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void ResizeGrow ( int32 OldNum, int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void ResizeShrink ( int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void ResizeInit ( int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void Shrink ( int32 NumBytesPerElement, uint32 AlignmentOfElement )


code: void SwapMemory ( int32 A, int32 B, int32 NumBytesPerElement )


description: These should really be private, because they shouldn't be called, but there's a bunch of code that needs to be fixed first.

code: TScriptArray ( const [TScriptArray](API\Runtime\Core\Containers\TScriptArray) & )


code: TScriptArray ( int32 InNum, int32 NumBytesPerElement, uint32 AlignmentOfElement )


className: TScriptArray

description: Base dynamic array. An untyped data array; mirrors aTArray's members, but doesn't need an exact C++ type for its elements.

code: template<typename AllocatorType> class TScriptArray : protected ForAnyElementType


className: AllocatorType

code: typedef Allocator::template ForElementType< uint32 > AllocatorType


className: DerivedType

code: typedef typename [TChooseClass](API\Runtime\Core\Templates\TChooseClass)< std::is_void_v< InDerivedType >, [TScriptBitArray](API\Runtime\Core\Containers\TScriptBitArray), InDerivedType >::Result DerivedType


code: bool IsValidIndex ( int32 Index ) const


code: void MoveAssign ( DerivedType & Other )


code: void operator= ( const [TScriptBitArray](API\Runtime\Core\Containers\TScriptBitArray) & )


code: [FBitReference](API\Runtime\Core\Containers\FBitReference) operator[] ( int32 Index )


code: [FConstBitReference](API\Runtime\Core\Containers\FConstBitReference) operator[] ( int32 Index ) const


description: Minimal initialization constructor.

code: TScriptBitArray()


code: TScriptBitArray ( const [TScriptBitArray](API\Runtime\Core\Containers\TScriptBitArray) & )


className: TScriptBitArray

description: Untyped bit array type for accessingTBitArraydata, likeFScriptArrayforTArray. Must have the same memory representation as aTBitArray.

code: template<typename Allocator, typename InDerivedType> class TScriptBitArray


description: Adds the (key, value) pair to the map

code: void Add ( const void * Key, const void * Value, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> KeyEqualityFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> KeyConstructAndAssignFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> ValueConstructAndAssignFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> ValueAssignFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> DestructKeyFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> DestructValueFn )


description:
Adds an uninitialized object to the map. The map will need rehashing at some point after this call to make it valid.
The index of the added element.

code: int32 AddUninitialized ( const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout )


code: typedef typename [TChooseClass](API\Runtime\Core\Templates\TChooseClass)< std::is_void_v< InDerivedType >, [TScriptMap](API\Runtime\Core\Containers\TScriptMap), InDerivedType >::Result DerivedType


code: void Empty ( int32 Slack, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout )


description:
No need to rehash after calling. The hash table must be properly hashed before calling.
The address to the value, not the pair

code: void * FindOrAdd ( const void * Key, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> KeyEqualityFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *, void *)> ConstructPairFn )


description: Finds the associated key, value from hash of Key, rather than linearly searching

code: int32 FindPairIndex ( const void * Key, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & MapLayout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> KeyEqualityFn )


description: Finds the associated value from hash of Key, rather than linearly searching

code: uint8 * FindValue ( const void * Key, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & MapLayout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> KeyEqualityFn )


code: void * GetData ( int32 Index, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout )


code: const void * GetData ( int32 Index, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout ) const


description: The max valid index of the elements in the sparse storage.

code: int32 GetMaxIndex() const


code: static [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) GetScriptLayout ( int32 KeySize, int32 KeyAlignment, int32 ValueSize, int32 ValueAlignment )


code: bool IsValidIndex ( int32 Index ) const


code: void MoveAssign ( DerivedType & Other, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout )


code: void operator= ( const [TScriptMap](API\Runtime\Core\Containers\TScriptMap) & )


code: void Rehash ( const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash )


code: void RemoveAt ( int32 Index, const [FScriptMapLayout](API\Runtime\Core\Containers\FScriptMapLayout) & Layout )


code: TScriptMap ( const [TScriptMap](API\Runtime\Core\Containers\TScriptMap) & )


className: TScriptMap

description: Untyped map type for accessingTMapdata, likeFScriptArrayforTArray. Must have the same memory representation as aTMap.

code: template<typename AllocatorType, typename InDerivedType> class TScriptMap


code: void Add ( const void * Element, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> EqualityFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> ConstructFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> DestructFn )


description:
Adds an uninitialized object to the set. The set will need rehashing at some point after this call to make it valid.
The index of the added element.

code: int32 AddUninitialized ( const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout )


code: typedef typename [TChooseClass](API\Runtime\Core\Templates\TChooseClass)< std::is_void_v< InDerivedType >, [TScriptSet](API\Runtime\Core\Containers\TScriptSet), InDerivedType >::Result DerivedType


className: ElementArrayType

code: typedef [TScriptSparseArray](API\Runtime\Core\Containers\TScriptSparseArray)< typename Allocator::SparseArrayAllocator > ElementArrayType


code: void Empty ( int32 Slack, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout )


code: int32 FindIndex ( const void * Element, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> EqualityFn )


code: int32 FindIndexByHash ( const void * Element, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout, uint32 KeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> EqualityFn )


code: int32 FindOrAdd ( const void * Element, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const void *, const void *)> EqualityFn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(void *)> ConstructFn )


code: void * GetData ( int32 Index, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout )


code: const void * GetData ( int32 Index, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout ) const


code: static [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) GetScriptLayout ( int32 ElementSize, int32 ElementAlignment )


className: HashType

code: typedef Allocator::HashAllocator::template ForElementType< [FSetElementId](API\Runtime\Core\Containers\FSetElementId) > HashType


code: bool IsValidIndex ( int32 Index ) const


code: void MoveAssign ( DerivedType & Other, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout )


code: void operator= ( const [TScriptSet](API\Runtime\Core\Containers\TScriptSet) & )


code: void Rehash ( const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< uint32(const void *)> GetKeyHash )


code: void RemoveAt ( int32 Index, const [FScriptSetLayout](API\Runtime\Core\Containers\FScriptSetLayout) & Layout )


code: TScriptSet ( const [TScriptSet](API\Runtime\Core\Containers\TScriptSet) & )


className: TScriptSet

description: Untyped set type for accessingTSetdata, likeFScriptArrayforTArray. Must have the same memory representation as aTSet.

code: template<typename Allocator, typename InDerivedType> class TScriptSet


description:
Adds an uninitialized object to the array.
The index of the added element.

code: int32 AddUninitialized ( const [FScriptSparseArrayLayout](API\Runtime\Core\Containers\FScriptSparseArrayLayout) & Layout )


code: typedef typename [TChooseClass](API\Runtime\Core\Templates\TChooseClass)< std::is_void_v< InDerivedType >, [TScriptSparseArray](API\Runtime\Core\Containers\TScriptSparseArray), InDerivedType >::Result DerivedType


code: void Empty ( int32 Slack, const [FScriptSparseArrayLayout](API\Runtime\Core\Containers\FScriptSparseArrayLayout) & Layout )


code: void * GetData ( int32 Index, const [FScriptSparseArrayLayout](API\Runtime\Core\Containers\FScriptSparseArrayLayout) & Layout )


code: const void * GetData ( int32 Index, const [FScriptSparseArrayLayout](API\Runtime\Core\Containers\FScriptSparseArrayLayout) & Layout ) const


code: static [FScriptSparseArrayLayout](API\Runtime\Core\Containers\FScriptSparseArrayLayout) GetScriptLayout ( int32 ElementSize, int32 ElementAlignment )


code: bool IsAllocated ( int32 Index ) const


code: void MoveAssign ( DerivedType & Other, const [FScriptSparseArrayLayout](API\Runtime\Core\Containers\FScriptSparseArrayLayout) & Layout )


code: void operator= ( const [TScriptSparseArray](API\Runtime\Core\Containers\TScriptSparseArray) & )


description: Removes Count elements from the array, starting fromIndex, without destructing them.

code: void RemoveAtUninitialized ( const [FScriptSparseArrayLayout](API\Runtime\Core\Containers\FScriptSparseArrayLayout) & Layout, int32 Index, int32 Count )


code: TScriptSparseArray ( const [TScriptSparseArray](API\Runtime\Core\Containers\TScriptSparseArray) & )


className: TScriptSparseArray

description: Untyped sparse array type for accessingTSparseArraydata, likeFScriptArrayforTArray. Must have the same memory representation as aTSet.

code: template<typename AllocatorType, typename InDerivedType> class TScriptSparseArray


description:
Adds an element to the set.
A pointer to the element stored in the set.

code: [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Add ( const InElementType & InElement, bool * bIsAlreadyInSetPtr )


code: [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Add ( InElementType && InElement, bool * bIsAlreadyInSetPtr )


description: Class documentation section on ByHash() functions

code: [FSetElementId](API\Runtime\Core\Containers\FSetElementId) AddByHash ( uint32 KeyHash, const InElementType & InElement, bool * bIsAlreadyInSetPtr )


code: [FSetElementId](API\Runtime\Core\Containers\FSetElementId) AddByHash ( uint32 KeyHash, InElementType && InElement, bool * bIsAlreadyInSetPtr )


code: typedef Allocator AllocatorType


code: template<typename ViewSizeType> void Append ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), ViewSizeType > InElements )


code: template<typename ViewSizeType> void Append ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [ElementType](API\Runtime\Core\Containers\TSet\ElementType), ViewSizeType > InElements )


code: template<typename ArrayAllocator> void Append ( const [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), ArrayAllocator > & InElements )


code: template<typename ArrayAllocator> void Append ( [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), ArrayAllocator > && InElements )


description: Add all items from another set to our set (union without creating a new set)

code: template<typename OtherAllocator> void Append ( const [TSet](API\Runtime\Core\Containers\TSet)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), KeyFuncs, OtherAllocator > & OtherSet )


code: template<typename OtherAllocator> void Append ( [TSet](API\Runtime\Core\Containers\TSet)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), KeyFuncs, OtherAllocator > && OtherSet )


code: void Append ( std::initializer_list< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) > InitList )


description: Add all items from another set to our set (union without creating a new set) Compatible element type version.

code: template<typename OtherKeyFuncs, typename OtherAllocator, typename AliasElementType, typename std::enable_if_t< [TIsContainerElementTypeCopyable](API\Runtime\Core\Containers\TIsContainerElementTypeCopyable)< AliasElementType >::Value > *> void Append ( const [TSet](API\Runtime\Core\Containers\TSet)< typename [TContainerElementTypeCompatibility](API\Runtime\Core\Containers\TContainerElementTypeCompatibili-)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) >::CopyFromOtherType, OtherKeyFuncs, OtherAllocator > & OtherSet )


code: template<typename OtherKeyFuncs, typename AliasElementType, typename std::enable_if_t< [TIsContainerElementTypeCopyable](API\Runtime\Core\Containers\TIsContainerElementTypeCopyable)< AliasElementType >::Value > *> void Append ( [TSet](API\Runtime\Core\Containers\TSet)< typename [TContainerElementTypeCompatibility](API\Runtime\Core\Containers\TContainerElementTypeCompatibili-)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) >::CopyFromOtherType, OtherKeyFuncs, Allocator > && OtherSet )


code: static void AppendHash ( const [FPlatformTypeLayoutParameters](API\Runtime\Core\Serialization\FPlatformTypeLayoutParameters) & LayoutParams, [FSHA1](API\Runtime\Core\Misc\FSHA1) & Hasher )


description: aTArrayof the elements

code: [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) > Array() const


description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.


description: Checks that the specified address is not part of an element within the container. Used for implementations to check that reference arguments aren't going to be invalidated by possible reallocation.

code: void CheckAddress ( const [ElementType](API\Runtime\Core\Containers\TSet\ElementType) * Addr ) const


description: Compacts the allocated elements into a contiguous range.

code: void Compact()


description: Compacts the allocated elements into a contiguous range. Does not change the iteration order of the elements.

code: void CompactStable()


description:
Checks if the element contains an element with the given key.
true if the set contains an element with the given key.

code: bool Contains ( KeyInitType Key ) const


code: template<typename ComparableKey> bool ContainsByHash ( uint32 KeyHash, const ComparableKey & Key ) const


code: void CopyUnfrozen ( const [FMemoryUnfreezeContent](API\Runtime\Core\Serialization\FMemoryUnfreezeContent) & Context, void * Dst ) const


description: Tracks the container's memory use through an archive.

code: void CountBytes ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar ) const


description: Creates a const iterator for the contents of this set


description: Creates an iterator for the contents of this set


description: the complement of two sets. (A not in B where A is this and B is Other)

code: [TSet](API\Runtime\Core\Containers\TSet) Difference ( const [TSet](API\Runtime\Core\Containers\TSet) & OtherSet ) const


description: Describes the set's contents through an output device.

code: void Dump ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: void DumpHashElements ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: typedef [TSparseArray](API\Runtime\Core\Containers\TSparseArray)< [SetElementType](API\Runtime\Core\Containers\TSetElement), typename Allocator::SparseArrayAllocator > ElementArrayType


className: ElementType

code: typedef InElementType ElementType


description:
Adds an element to the set.
A handle to the element stored in the set.

code: template<typename ArgsType> [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Emplace ( ArgsType && Args, bool * bIsAlreadyInSetPtr )


code: template<typename ArgsType> [FSetElementId](API\Runtime\Core\Containers\FSetElementId) EmplaceByHash ( uint32 KeyHash, ArgsType && Args, bool * bIsAlreadyInSetPtr )


description: Removes all elements from the set, potentially leaving space allocated for an expected number of elements about to be added.

code: void Empty ( int32 ExpectedNumElements )


description:
Finds an element with the given key in the set.
A pointer to an element with the given key. If no element in the set has the given key, this will return NULL.

code: [ElementType](API\Runtime\Core\Containers\TSet\ElementType) * Find ( KeyInitType Key )


description:
Finds an element with the given key in the set.
A const pointer to an element with the given key. If no element in the set has the given key, this will return NULL.

code: const [ElementType](API\Runtime\Core\Containers\TSet\ElementType) * Find ( KeyInitType Key ) const


description: Class documentation section on ByHash() functions

code: template<typename ComparableKey> [ElementType](API\Runtime\Core\Containers\TSet\ElementType) * FindByHash ( uint32 KeyHash, const ComparableKey & Key )


code: template<typename ComparableKey> const [ElementType](API\Runtime\Core\Containers\TSet\ElementType) * FindByHash ( uint32 KeyHash, const ComparableKey & Key ) const


description:
Finds an element with the given key in the set.
The id of the set element matching the given key, or the NULL id if none matches.

code: [FSetElementId](API\Runtime\Core\Containers\FSetElementId) FindId ( KeyInitType Key ) const


code: template<typename ComparableKey> [FSetElementId](API\Runtime\Core\Containers\FSetElementId) FindIdByHash ( uint32 KeyHash, const ComparableKey & Key ) const


description:
Adds an element to the set if not already present and returns a reference to the added or existing element.
A reference to the element stored in the set.

code: [ElementType](API\Runtime\Core\Containers\TSet\ElementType) & FindOrAdd ( const InElementType & InElement, bool * bIsAlreadyInSetPtr )


code: [ElementType](API\Runtime\Core\Containers\TSet\ElementType) & FindOrAdd ( InElementType && InElement, bool * bIsAlreadyInSetPtr )


code: template<typename ElementReferenceType> [ElementType](API\Runtime\Core\Containers\TSet\ElementType) & FindOrAddByHash ( uint32 KeyHash, ElementReferenceType && InElement, bool * bIsAlreadyInSetPtr )


description: Accesses the identified element's value. Element must be valid (see ).

code: [ElementType](API\Runtime\Core\Containers\TSet\ElementType) & Get ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id )


code: const [ElementType](API\Runtime\Core\Containers\TSet\ElementType) & Get ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id ) const


description:
Helper function to return the amount of memory allocated by this container Only returns the size of allocations made directly by the container, not the elements themselves.
number of bytes allocated by this container

code: SIZE_T GetAllocatedSize() const


code: typedef typename Allocator::HashAllocator::template ForElementType< [FSetElementId](API\Runtime\Core\Containers\FSetElementId) > HashType


description:
Determine whether the specified set is entirely included within this set
True if the other set is entirely included in this set, false if it is not

code: bool Includes ( const [TSet](API\Runtime\Core\Containers\TSet)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), KeyFuncs, Allocator > & OtherSet ) const


description: the intersection of two sets. (A AND B)

code: [TSet](API\Runtime\Core\Containers\TSet) Intersect ( const [TSet](API\Runtime\Core\Containers\TSet) & OtherSet ) const


description: Num

code: bool IsEmpty() const


className: KeyFuncsType

code: typedef KeyFuncs KeyFuncsType


description:
Checks whether an element id is valid.
true if the element identifier refers to a valid element in this set.

code: bool IsValidId ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id ) const


description: the number of elements.

code: int32 Num() const


description: Move assignment operator.

code: [TSet](API\Runtime\Core\Containers\TSet) & operator= ( [TSet](API\Runtime\Core\Containers\TSet) && Other )


description: Assignment operator for moving elements from aTSetwith a different SetAllocator

code: template<typename OtherAllocator> [TSet](API\Runtime\Core\Containers\TSet) & operator= ( [TSet](API\Runtime\Core\Containers\TSet)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), KeyFuncs, OtherAllocator > && Other )


description: Assignment operator for copying elements from aTSetwith a different SetAllocator

code: template<typename OtherAllocator> [TSet](API\Runtime\Core\Containers\TSet) & operator= ( const [TSet](API\Runtime\Core\Containers\TSet)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), KeyFuncs, OtherAllocator > & Other )


description: Initializer list assignment operator

code: [TSet](API\Runtime\Core\Containers\TSet) & operator= ( std::initializer_list< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) > InitList )


description: Move assignment operator. Compatible element type version.

code: template<typename OtherKeyFuncs, typename AliasElementType, typename std::enable_if_t< [TIsContainerElementTypeCopyable](API\Runtime\Core\Containers\TIsContainerElementTypeCopyable)< AliasElementType >::Value > *> [TSet](API\Runtime\Core\Containers\TSet) & operator= ( [TSet](API\Runtime\Core\Containers\TSet)< typename [TContainerElementTypeCompatibility](API\Runtime\Core\Containers\TContainerElementTypeCompatibili-)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) >::CopyFromOtherType, OtherKeyFuncs, Allocator > && Other )


description: Assignment operator. First deletes all currently contained elements and then copies from other set. Compatible element type version.

code: template<typename OtherKeyFuncs, typename OtherAllocator, typename AliasElementType, typename std::enable_if_t< [TIsContainerElementTypeCopyable](API\Runtime\Core\Containers\TIsContainerElementTypeCopyable)< AliasElementType >::Value > *> [TSet](API\Runtime\Core\Containers\TSet) & operator= ( const [TSet](API\Runtime\Core\Containers\TSet)< typename [TContainerElementTypeCompatibility](API\Runtime\Core\Containers\TContainerElementTypeCompatibili-)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) >::CopyFromOtherType, OtherKeyFuncs, OtherAllocator > & Other )


code: [ElementType](API\Runtime\Core\Containers\TSet\ElementType) & operator[] ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id )


code: const [ElementType](API\Runtime\Core\Containers\TSet\ElementType) & operator[] ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id ) const


description: Assignment operator.

code: [TSet](API\Runtime\Core\Containers\TSet) & operator= ( const [TSet](API\Runtime\Core\Containers\TSet) & Copy )


description: Relaxes the set's hash to a size strictly bounded by the number of elements in the set.

code: void Relax()


description: Removes an element from the set.

code: void Remove ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) ElementId )


description:
Removes all elements from the set matching the specified key.
The number of elements removed.

code: int32 Remove ( KeyInitType Key )


code: template<typename ComparableKey> int32 RemoveByHash ( uint32 KeyHash, const ComparableKey & Key )


description: Preallocates enough memory to contain Number elements

code: void Reserve ( int32 Number )


description: Efficiently empties out the set but preserves all allocations and capacities

code: void Reset()


className: SetElementType

code: typedef [TSetElement](API\Runtime\Core\Containers\TSetElement)< InElementType > SetElementType


description: Shrinks the set's element storage to avoid slack.

code: void Shrink()


className: SizeType

code: typedef typename Allocator::SparseArrayAllocator::ElementAllocator::SizeType SizeType


description: Sorts the set's elements using the provided comparison class.

code: template<typename PREDICATE_CLASS> void Sort ( const PREDICATE_CLASS & Predicate )


description: TSparseArray::SortFreeList() for more info.

code: void SortFreeList()


description: Stable sorts the set's elements using the provided comparison class.

code: template<typename PREDICATE_CLASS> void StableSort ( const PREDICATE_CLASS & Predicate )


code: TConstIterator &40; const TSet & InSet &41;


className: TConstIterator

description: Used to iterate over the elements of a constTSet.

code: class TConstIterator : public TSet< true >::TBaseIterator


code: TConstKeyIterator &40; const TSet & InSet, KeyArgumentType InKey &41;


className: Super

code: typedef TBaseKeyIterator< true > Super


className: TConstKeyIterator

code: class TConstKeyIterator : public TSet< true >::TBaseKeyIterator


description: Removes the current element from the set.

code: void RemoveCurrent&40;&41;


className: TIterator

description: Used to iterate over the elements of aTSet.

code: class TIterator : public TSet< false >::TBaseIterator


className: KeyArgumentType

code: typedef typename Super::KeyArgumentType KeyArgumentType


code: typedef TBaseKeyIterator< false > Super


code: TKeyIterator &40; TSet & InSet, KeyArgumentType InKey &41;


className: TKeyIterator

code: class TKeyIterator : public TSet< false >::TBaseKeyIterator


className: TRangedForConstIterator

code: typedef TBaseIterator< true, true > TRangedForConstIterator


className: TRangedForIterator

code: typedef TBaseIterator< false, true > TRangedForIterator


description: the union of two sets. (A OR B)

code: [TSet](API\Runtime\Core\Containers\TSet) Union ( const [TSet](API\Runtime\Core\Containers\TSet) & OtherSet ) const


className: USizeType

code: typedef std::make_unsigned_t< [SizeType](API\Runtime\Core\Containers\TSet\SizeType) > USizeType


code: bool VerifyHashElementsKey ( KeyInitType Key )


code: void WriteMemoryImage ( [FMemoryImageWriter](API\Runtime\Core\Serialization\FMemoryImageWriter) & Writer ) const


description: Initialization constructor.

code: TSet()


description: Copy constructor.

code: TSet ( const [TSet](API\Runtime\Core\Containers\TSet) & Copy )


code: TSet ( const [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) > & InArray )


code: TSet ( [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) > && InArray )


description: Initializer list constructor.

code: TSet ( std::initializer_list< [ElementType](API\Runtime\Core\Containers\TSet\ElementType) > InitList )


description: Constructor for moving elements from aTSetwith a different SetAllocator

code: template<typename OtherAllocator> TSet ( [TSet](API\Runtime\Core\Containers\TSet)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), KeyFuncs, OtherAllocator > && Other )


description: Move constructor.

code: TSet ( [TSet](API\Runtime\Core\Containers\TSet) && Other )


description: Constructor for copying elements from aTSetwith a different SetAllocator

code: template<typename OtherAllocator> TSet ( const [TSet](API\Runtime\Core\Containers\TSet)< [ElementType](API\Runtime\Core\Containers\TSet\ElementType), KeyFuncs, OtherAllocator > & Other )


description: Destructor.

code: ~TSet()


className: TSet

description: The ByHash() functions are somewhat dangerous but particularly useful in two scenarios:  Heterogeneous lookup to avoid creating expensive keys likeFStringwhen looking up by const TCHAR*. You must ensure the hash is calculated in the same way as ElementType is hashed. If possible put both ComparableKey and ElementType hash functions next to each other in the same header to avoid bugs when the ElementType hash function is changed.  Reducing contention around hash tables protected by a lock. It is often important to incur the cache misses of reading key data and doing the hashingbeforeacquiring the lock.

code: template<typename InElementType, typename KeyFuncs, typename Allocator> class TSet


description: Computes the number of hash buckets to use for a given number of elements.

code: static uint32 GetNumberOfHashBuckets ( uint32 NumHashedElements )


className: HashAllocator

code: typedef InHashAllocator HashAllocator


className: TSetAllocator

description: Encapsulates the allocators used by a set in a single type.

code: template<typename InSparseArrayAllocator, typename InHashAllocator, uint32 AverageNumberOfElementsPerHashBucket, uint32 BaseNumberOfHashBuckets, uint32 MinNumberOfHashedElements> class TSetAllocator


code: [TSetElement](API\Runtime\Core\Containers\TSetElement) & operator= ( [TSetElement](API\Runtime\Core\Containers\TSetElement) && )


code: [TSetElement](API\Runtime\Core\Containers\TSetElement) & operator= ( const [TSetElement](API\Runtime\Core\Containers\TSetElement) & )


description: Comparison operators.

code: bool operator== ( const [TSetElement](API\Runtime\Core\Containers\TSetElement) & Other ) const


code: bool operator!= ( const [TSetElement](API\Runtime\Core\Containers\TSetElement) & Other ) const


code: typedef [TSetElementBase](API\Runtime\Core\Containers\TSetElementBase)< InElementType, [THasTypeLayout](API\Runtime\Core\Serialization\THasTypeLayout)< InElementType >::Value > Super


description: Default constructor.

code: TSetElement()


description: Initialization constructor.

code: template<typename InitType, typename> TSetElement ( InitType && InValue )


code: TSetElement ( [TSetElement](API\Runtime\Core\Containers\TSetElement) && )


code: TSetElement ( const [TSetElement](API\Runtime\Core\Containers\TSetElement) & )


className: TSetElement

description: An element in the set.

code: template<typename InElementType> class TSetElement : public [TSetElementBase< InElementType, THasTypeLayout< InElementType >::Value >](API\Runtime\Core\Containers\TSetElementBase)


className: ElementType

code: typedef InElementType ElementType


code: [TSetElementBase](API\Runtime\Core\Containers\TSetElementBase) & operator= ( const [TSetElementBase](API\Runtime\Core\Containers\TSetElementBase) & )


code: [TSetElementBase](API\Runtime\Core\Containers\TSetElementBase) & operator= ( [TSetElementBase](API\Runtime\Core\Containers\TSetElementBase) && )


description: Initialization constructor.

code: template<typename InitType, typename> TSetElementBase ( InitType && InValue )


code: TSetElementBase ( [TSetElementBase](API\Runtime\Core\Containers\TSetElementBase) && )


code: TSetElementBase ( const [TSetElementBase](API\Runtime\Core\Containers\TSetElementBase) & )


className: TSetElementBase

description: TSetElementBase< InElementType, true >

code: template<typename InElementType, bool bTypeLayout> class TSetElementBase

HashIndex

description: The hash bucket that the element is currently linked to.

HashNextId

type: FSetElementId

description: The id of the next element in the same hash bucket.

Value

type: ElementType

description: The element's value.


className: CounterBase

code: static CounterBase = COUNTER;


className: DerivedType

code: typedef TSetElementBase DerivedType


className: TSetElementBase< InElementType, true >::GetTypeLayout

code: const FTypeLayoutDesc & GetTypeLayout&40;&41; const


className: InterfaceType

code: static InterfaceType = ETypeLayoutInterface:: NonVirtual;


className: InternalBaseType

code: typedef typename TGetBaseTypeHelper< TSetElementBase >::Type InternalBaseType


className: TSetElementBase< InElementType, true >::InternalLinkType< __COUNTER__-CounterBase >::Initialize

code: static void Initialize &40; FTypeLayoutDesc & TypeDesc &41;


description: Initialize(FTypeLayoutDesc& TypeDesc)

code: template<> struct InternalLinkType< COUNTER-CounterBase >


className: TSetElementBase< InElementType, true >::InternalLinkType::Initialize


className: InternalLinkType

description: Initialize(FTypeLayoutDesc& TypeDesc)

code: template<int Counter> struct InternalLinkType


className: TSetElementBase< InElementType, true >::operator=

code: TSetElementBase & operator&61; &40; TSetElementBase && &41;


code: TSetElementBase & operator&61; &40; const TSetElementBase & &41;


className: TSetElementBase< InElementType, true >::StaticGetTypeLayout

code: static FTypeLayoutDesc & StaticGetTypeLayout&40;&41;


className: TSetElementBase< InElementType, true >::TSetElementBase


description: Initialization constructor.

code: template<typename InitType, typename> TSetElementBase &40; InitType && InValue &41;


code: TSetElementBase &40; TSetElementBase && &41;


code: TSetElementBase &40; const TSetElementBase & &41;


className: TSetElementBase< InElementType, true >

code: template<typename InElementType> class TSetElementBase< InElementType, true >

description: The element's value.


description: Legacy comparison operators. Note that these also test whether the set's elements were added in the same order!

code: template<typename ElementType, typename KeyFuncs, typename Allocator> static bool LegacyCompareEqual ( const [TSet](API\Runtime\Core\Containers\TSet)< ElementType, KeyFuncs, Allocator > & A, const [TSet](API\Runtime\Core\Containers\TSet)< ElementType, KeyFuncs, Allocator > & B )


description: Serializer.

code: template<typename ElementType, typename KeyFuncs, typename Allocator> static [FArchive](API\Runtime\Core\Serialization\FArchive) & Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [TSet](API\Runtime\Core\Containers\TSet)< ElementType, KeyFuncs, Allocator > & Set )


description: Structured archive serializer.

code: template<typename ElementType, typename KeyFuncs, typename Allocator> static void SerializeStructured ( [FStructuredArchive::FSlot](API\Runtime\Core\Serialization\FStructuredArchive\FSlot) Slot, [TSet](API\Runtime\Core\Containers\TSet)< ElementType, KeyFuncs, Allocator > & Set )


className: Typedef

code: typedef [TSizedHeapAllocator](API\Runtime\Core\Containers\TSizedHeapAllocator)< IndexSize > Typedef


className: TSetPrivateFriend

code: struct TSetPrivateFriend


code: SizeType CalculateSlackGrow &40; SizeType NumElements, SizeType NumAllocatedElements, SIZE_T NumBytesPerElement &41; const


className: TSizedDefaultAllocator

description: These should be replaced with actual typedefs when Core.h include order is sorted out, as then we won't need to 'forward' theseTAllocatorTraitsspecializations below.

code: template<int IndexSize> class TSizedDefaultAllocator : public [TSizedHeapAllocator< IndexSize >](API\Runtime\Core\Containers\TSizedHeapAllocator)


code: SizeType CalculateSlackGrow &40; SizeType NumElements, SizeType NumAllocatedElements, SIZE_T NumBytesPerElement, uint32 AlignmentOfElement &41; const


code: SizeType CalculateSlackReserve &40; SizeType NumElements, SIZE_T NumBytesPerElement &41; const


code: SizeType CalculateSlackReserve &40; SizeType NumElements, SIZE_T NumBytesPerElement, uint32 AlignmentOfElement &41; const


code: SizeType CalculateSlackShrink &40; SizeType NumElements, SizeType NumAllocatedElements, SIZE_T NumBytesPerElement &41; const


code: SizeType CalculateSlackShrink &40; SizeType NumElements, SizeType NumAllocatedElements, SIZE_T NumBytesPerElement, uint32 AlignmentOfElement &41; const


code: SIZE_T GetAllocatedSize &40; SizeType NumAllocatedElements, SIZE_T NumBytesPerElement &41; const


code: FScriptContainerElement &42; GetAllocation&40;&41; const


description: Assumes that the allocator is currently empty, i.e. memory may be allocated but any existing elements have already been destructed (if necessary).

code: void MoveToEmpty &40; ForAnyElementType & Other &41;


code: template<typename OtherAllocator> void MoveToEmptyFromOtherAllocator &40; typename OtherAllocator::ForAnyElementType & Other &41;


code: void ResizeAllocation &40; SizeType PreviousNumElements, SizeType NumElements, SIZE_T NumBytesPerElement, uint32 AlignmentOfElement &41;


description: Define the ResizeAllocation functions with the regular allocator as exported to avoid bloat.

code: void ResizeAllocation &40; SizeType PreviousNumElements, SizeType NumElements, SIZE_T NumBytesPerElement &41;


description: Default constructor.


code: ForAnyElementType &40; const ForAnyElementType & &41;


description: Destructor.


className: ForAnyElementType

code: class ForAnyElementType


code: ElementType &42; GetAllocation&40;&41; const


className: ForElementType

code: template<typename ElementType> class ForElementType : public [TSizedHeapAllocator< IndexSize, BaseMallocType >::ForAnyElementType](API\Runtime\Core\Containers\TSizedHeapAllocator\ForAnyElementType)


className: NeedsElementType

code: enum { NeedsElementType = true }


className: RequireRangeCheck

code: enum { RequireRangeCheck = true }


className: SizeType

code: typedef typename [TBitsToSizeType](API\Runtime\Core\Containers\TBitsToSizeType)< IndexSize >::Type SizeType


className: TSizedHeapAllocator

description: The indirect allocation policy always allocates the elements indirectly.

code: template<int IndexSize, typename BaseMallocType> class TSizedHeapAllocator


className: USizeType

code: typedef std::make_unsigned_t< [SizeType](API\Runtime\Core\Containers\TSizedHeapAllocator\SizeType) > USizeType


code: typedef void ForAnyElementType


code: SizeType CalculateSlackReserve &40; SizeType NumElements, SIZE_T NumBytesPerElement &41; const


code: SizeType CalculateSlackGrow &40; SizeType NumElements, SizeType NumAllocatedElements, SIZE_T NumBytesPerElement &41; const


code: SizeType CalculateSlackShrink &40; SizeType NumElements, SizeType NumAllocatedElements, SIZE_T NumBytesPerElement &41; const


code: SIZE_T GetAllocatedSize &40; SizeType NumAllocatedElements, SIZE_T NumBytesPerElement &41; const


description: Moves the state of another allocator into this one. Assumes that the allocator is currently empty, i.e. memory may be allocated but any existing elements have already been destructed (if necessary).

code: void MoveToEmpty &40; ForElementType & Other &41;


description: Default constructor.


code: ForElementType &40; const ForElementType & &41;


code: template<typename ElementType> class ForElementType


className: TSizedInlineAllocator

description: The inline allocation policy allocates up to a specified number of elements in the same allocation as the container. Any allocation needed beyond that causes all data to be moved into an indirect allocation. It always uses DEFAULT_ALIGNMENT.

code: template<uint32 NumInlineElements, int IndexSize, typename SecondaryAllocator> class TSizedInlineAllocator


description: Sorts the pairs array using each pair's Key as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.KeySort( PREDICATE_CLASS() );"

code: template<typename PREDICATE_CLASS> void KeySort ( const PREDICATE_CLASS & Predicate )


description: Stable sorts the pairs array using each pair's Key as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.KeySort( PREDICATE_CLASS() );"

code: template<typename PREDICATE_CLASS> void KeyStableSort ( const PREDICATE_CLASS & Predicate )


code: [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) & operator= ( [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) && )


code: [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) & operator= ( const [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) & )


description: Assignment operator for moving elements from aTMapwith a different SetAllocator

code: template<typename OtherSetAllocator> [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) & operator= ( [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase)< KeyType, ValueType, OtherSetAllocator, KeyFuncs > && Other )


description: Assignment operator for copying elements from aTMapwith a different SetAllocator

code: template<typename OtherSetAllocator> [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) & operator= ( const [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase)< KeyType, ValueType, OtherSetAllocator, KeyFuncs > & Other )


description: TSparseArray::SortFreeList() for more info.

code: void SortFreeList()


className: Super

code: typedef [TMapBase](API\Runtime\Core\Containers\TMapBase)< KeyType, ValueType, SetAllocator, KeyFuncs > Super


description: Sorts the pairs array using each pair's Value as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.ValueSort( PREDICATE_CLASS() );"

code: template<typename PREDICATE_CLASS> void ValueSort ( const PREDICATE_CLASS & Predicate )


code: TSortableMapBase ( [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) && )


code: TSortableMapBase ( const [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase) & )


description: Stable sorts the pairs array using each pair's Value as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.ValueSort( PREDICATE_CLASS() );"

code: template<typename PREDICATE_CLASS> void ValueStableSort ( const PREDICATE_CLASS & Predicate )


description: Constructor for moving elements from aTMapwith a different SetAllocator

code: template<typename OtherSetAllocator> TSortableMapBase ( [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase)< KeyType, ValueType, OtherSetAllocator, KeyFuncs > && Other )


description: Constructor for copying elements from aTMapwith a different SetAllocator

code: template<typename OtherSetAllocator> TSortableMapBase ( const [TSortableMapBase](API\Runtime\Core\Containers\TSortableMapBase)< KeyType, ValueType, OtherSetAllocator, KeyFuncs > & Other )


className: TSortableMapBase

description: The base type of sortable maps.

code: template<typename KeyType, typename ValueType, typename SetAllocator, typename KeyFuncs> class TSortableMapBase : public [TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >](API\Runtime\Core\Containers\TMapBase)


code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Add ( [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) && InKey )


description:
Sets a default value associated with a key.
A reference to the value as stored in the map. The reference is only valid until the next change to any key in the map.

code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Add ( const [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) & InKey )


description:
Sets the value associated with a key.
A reference to the value as stored in the map (only valid until the next change to any key in the map).

code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Add ( const [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) & InKey, const [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & InValue )


code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Add ( const [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) & InKey, [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) && InValue )


code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Add ( [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) && InKey, const [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & InValue )


code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Add ( [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) && InKey, [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) && InValue )


description: Move all items from another map into our map (if any keys are in both, the value from the other map wins) and empty the other map.

code: template<typename OtherArrayAllocator, typename OtherSortPredicate> void Append ( [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType), OtherArrayAllocator, OtherSortPredicate > && OtherMap )


description: Add all items from another map to our map (if any keys are in both, the value from the other map wins).

code: template<typename OtherArrayAllocator, typename OtherSortPredicate> void Append ( const [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType), OtherArrayAllocator, OtherSortPredicate > & OtherMap )


description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.


description:
Checks if map contains the specified key.
true if the map contains the key.

code: bool Contains ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key ) const


description: Tracks the container's memory use through an archive.

code: void CountBytes ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar ) const


description: Creates a const iterator over all the pairs in this map


description: Creates a const iterator over the values associated with a specified key in a map. This will be at most one value because keys must be unique

code: [TConstKeyIterator](API\Runtime\Core\Containers\TSortedMap\TConstKeyIterator) CreateConstKeyIterator ( [KeyInitType](API\Runtime\Core\Containers\TSortedMap\KeyInitType) InKey ) const


description: Creates an iterator over all the pairs in this map


description: Creates an iterator over the values associated with a specified key in a map. This will be at most one value because keys must be unique

code: [TKeyIterator](API\Runtime\Core\Containers\TSortedMap\TKeyIterator) CreateKeyIterator ( [KeyInitType](API\Runtime\Core\Containers\TSortedMap\KeyInitType) InKey )


description: Describes the map's contents through an output device.

code: void Dump ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


className: ElementType

code: typedef TPair< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) > ElementType


className: ElementArrayType

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Core\Containers\TSortedMap\ElementType), ArrayAllocator > ElementArrayType


description:
Sets a default value associated with a key.
A reference to the value as stored in the map (only valid until the next change to any key in the map).

code: template<typename InitKeyType> [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Emplace ( InitKeyType && InKey )


code: template<typename InitKeyType, typename InitValueType> [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & Emplace ( InitKeyType && InKey, InitValueType && InValue )


description: Removes all elements from the map, potentially leaving space allocated for an expected number of elements about to be added.

code: void Empty ( int32 ExpectedNumElements )


description:
Returns the value associated with a specified key.
A pointer to the value associated with the specified key, or nullptr if the key isn't contained in this map. The pointer (only valid until the next change to any key in the map).

code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) * Find ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key )


code: const [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) * Find ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key ) const


description:
Returns a reference to the value associated with a specified key.
The value associated with the specified key, or triggers an assertion if the key does not exist.

code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & FindChecked ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key )


description:
Finds a pair with the specified key, removes it from the map, and returns the value part of the pair. If no pair was found, an exception is thrown.
Whether or not the key was found

code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) FindAndRemoveChecked ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key )


code: const [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & FindChecked ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key ) const


description:
Returns the value associated with a specified key, or if none exists, adds a value using the default constructor.
A reference to the value associated with the specified key.

code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & FindOrAdd ( const [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) & Key )


description:
Returns the key associated with the specified value. The time taken is O(N) in the number of pairs.
A pointer to the key associated with the specified value, or nullptr if the value isn't contained in this map (only valid until the next change to any key in the map).

code: const [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) * FindKey ( [ValueInitType](API\Runtime\Core\Containers\TSortedMap\ValueInitType) Value ) const


description:
Returns the value associated with a specified key.
The value associated with the specified key, or the default value for the ValueType if the key isn't contained in this map.

code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) FindRef ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key ) const


description: Generates an array from the keys in this map.

code: template<typename Allocator> void GenerateKeyArray ( [TArray](API\Runtime\Core\Containers\TArray)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), Allocator > & OutArray ) const


description: Generates an array from the values in this map.

code: template<typename Allocator> void GenerateValueArray ( [TArray](API\Runtime\Core\Containers\TArray)< [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType), Allocator > & OutArray ) const


description: Return a mapped pair by internal identifier. Element must be valid (see ).

code: [ElementType](API\Runtime\Core\Containers\TSortedMap\ElementType) & Get ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id )


description:
Helper function to return the amount of memory allocated by this container. Only returns the size of allocations made directly by the container, not the elements themselves.
number of bytes allocated by this container.

code: SIZE_T GetAllocatedSize() const


code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & FindOrAdd ( [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) && Key )


description:
Returns the unique keys contained within this map.
The number of unique keys in the map.

code: template<typename Allocator> int32 GetKeys ( [TArray](API\Runtime\Core\Containers\TArray)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), Allocator > & OutKeys ) const


description: The max valid index of the elements in the sparse storage.

code: int32 GetMaxIndex() const


description: Num

code: bool IsEmpty() const


description:
Checks whether an element id is valid.
true if the element identifier refers to a valid element in this map.

code: bool IsValidId ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id ) const


code: const [ElementType](API\Runtime\Core\Containers\TSortedMap\ElementType) & Get ( [FSetElementId](API\Runtime\Core\Containers\FSetElementId) Id ) const


className: KeyConstPointerType

code: typedef [TTypeTraits](API\Runtime\Core\Templates\TTypeTraits)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) >::ConstPointerType KeyConstPointerType


className: KeyInitType

code: typedef [TTypeTraits](API\Runtime\Core\Templates\TTypeTraits)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) >::ConstInitType KeyInitType


description: The number of elements in the map.

code: int32 Num() const


code: [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & operator= ( [TSortedMap](API\Runtime\Core\Containers\TSortedMap) && )


code: [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & operator= ( const [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & )


description: Assignment operator for moving elements from aTSortedMapwith a different ArrayAllocator.

code: template<typename OtherArrayAllocator> [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & operator= ( [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType), OtherArrayAllocator, SortPredicate > && Other )


description: Assignment operator which gets its elements from a native initializer list

code: [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & operator= ( std::initializer_list< [TPairInitializer](API\Runtime\Core\Containers\TPairInitializer)< const [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) &, const [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & >> InitList )


description: Equality operator. This is efficient because pairs are always sorted.

code: bool operator== ( const [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & Other ) const


description: Inequality operator. This is efficient because pairs are always sorted.

code: bool operator!= ( const [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & Other ) const


code: [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & operator[] ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key )


description: Assignment operator for copying elements from aTSortedMapwith a different ArrayAllocator.

code: template<typename OtherArrayAllocator> [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & operator= ( const [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType), OtherArrayAllocator, SortPredicate > & Other )


code: const [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & operator[] ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) Key ) const


className: RangedForIteratorType

description: Ranged For iterators. Unlike normalTMapthese are not the same as the normal iterator for performance reasons


description:
Removes all value associations for a key.
The number of values that were associated with the key.

code: int32 Remove ( [KeyConstPointerType](API\Runtime\Core\Containers\TSortedMap\KeyConstPointerType) InKey )


description:
Removes the pair with the specified key and copies the value that was removed to the ref parameter.
Whether or not the key was found

code: bool RemoveAndCopyValue ( [KeyInitType](API\Runtime\Core\Containers\TSortedMap\KeyInitType) Key, [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & OutRemovedValue )


description: Preallocates enough memory to contain Number elements.

code: void Reserve ( int32 Number )


description: Efficiently empties out the map but preserves all allocations and capacities.

code: void Reset()


description: Shrinks the pair set to avoid slack.

code: void Shrink()


code: TConstIterator &40; const TSortedMap & InMap &41;


code: TConstIterator &40; const typename TBaseIterator< true >::PairItType & InPairIt &41;


className: TConstIterator

description: Const map iterator

code: class TConstIterator : public TSortedMap< true >::TBaseIterator


code: typedef TBaseIterator< true > Super


code: TConstKeyIterator &40; const TSortedMap & InMap, KeyInitType InKey &41;


className: TConstKeyIterator

description: Iterates over values associated with a specified key in a const map. This will be at most one value because keys must be unique

code: class TConstKeyIterator : public TSortedMap< true >::TBaseIterator


code: TConstReverseIterator &40; const TSortedMap & InMap &41;


className: TConstReverseIterator

description: Const map iterator

code: class TConstReverseIterator : public TSortedMap< true >::TBaseReverseIterator


description: Removes the current pair from the map

code: void RemoveCurrent&40;&41;


code: TIterator &40; const typename TBaseIterator< false >::PairItType & InPairIt &41;


className: TIterator

description: Map iterator

code: class TIterator : public TSortedMap< false >::TBaseIterator


code: TKeyIterator & operator&43;&43;&40;&41;


description: Removes the current key-value pair from the map.


code: typedef TBaseIterator< false > Super


code: TKeyIterator &40; TSortedMap & InMap, KeyInitType InKey &41;


className: TKeyIterator

description: Iterates over values associated with a specified key in a map. This will be at most one value because keys must be unique

code: class TKeyIterator : public TSortedMap< false >::TBaseIterator


code: TReverseIterator &40; TSortedMap & InMap &41;


code: TIterator &40; TSortedMap & InMap &41;


className: TReverseIterator

description: Reverse Map iterator

code: class TReverseIterator : public TSortedMap< false >::TBaseReverseIterator


className: ValueInitType

code: typedef [TTypeTraits](API\Runtime\Core\Templates\TTypeTraits)< [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) >::ConstInitType ValueInitType


className: ValueType

code: typedef InValueType ValueType


code: TSortedMap ( [TSortedMap](API\Runtime\Core\Containers\TSortedMap) && )


code: TSortedMap ( const [TSortedMap](API\Runtime\Core\Containers\TSortedMap) & )


description: Constructor for moving elements from aTSortedMapwith a different ArrayAllocator.

code: template<typename OtherArrayAllocator> TSortedMap ( [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType), OtherArrayAllocator, SortPredicate > && Other )


description: Constructor for copying elements from aTSortedMapwith a different ArrayAllocator.

code: template<typename OtherArrayAllocator> TSortedMap ( const [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType), [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType), OtherArrayAllocator, SortPredicate > & Other )


description: Constructor which gets its elements from a native initializer list

code: TSortedMap ( std::initializer_list< [TPairInitializer](API\Runtime\Core\Containers\TPairInitializer)< const [KeyType](API\Runtime\Core\Containers\TSortedMap\KeyType) &, const [ValueType](API\Runtime\Core\Containers\TSortedMap\ValueType) & >> InitList )


className: TSortedMap

description: It has a mostly identical interface toTMapand is designed as a drop in replacement. Keys must be unique, there is no equivalent sorted version ofTMultiMap. It uses half as much memory asTMap, but adding and removing elements is O(n), and finding is O(Log n). In practice it is faster thanTMapfor low element counts, and slower as n increases, This map is always kept sorted by the key type so cannot be sorted manually.

code: template<typename InKeyType, typename InValueType, typename ArrayAllocator, typename SortPredicate> class TSortedMap


code: template<typename KeyType, typename ValueType, typename ArrayAllocator, typename SortPredicate> static void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< KeyType, ValueType, ArrayAllocator, SortPredicate > & Map )


className: TSortedMapPrivateFriend

code: struct TSortedMapPrivateFriend


description: Adds an element to the array.

code: int32 Add ( const ElementType & Element )


description: Adds an element to the array.

code: int32 Add ( ElementType && Element )


description: Add an element at the lowest free index, instead of the last freed index. This requires a search which can be accelerated with LowestFreeIndexSearchStart.

code: int32 AddAtLowestFreeIndex ( const ElementType & Element, int32 & LowestFreeIndexSearchStart )


code: [FSparseArrayAllocationInfo](API\Runtime\Core\Containers\FSparseArrayAllocationInfo) AddUninitializedAtLowestFreeIndex ( int32 & LowestFreeIndexSearchStart )


description: Allocates space for an element in the array. The element is not initialized, and you must use the corresponding placement new operator to construct the element in the allocated memory.


className: AllocationBitArrayType

code: typedef [TBitArray](API\Runtime\Core\Containers\TBitArray)< typename Allocator::BitArrayAllocator > AllocationBitArrayType


description: Marks an index as allocated, and returns information about the allocation.

code: [FSparseArrayAllocationInfo](API\Runtime\Core\Containers\FSparseArrayAllocationInfo) AllocateIndex ( int32 Index )


code: static void AppendHash ( const [FPlatformTypeLayoutParameters](API\Runtime\Core\Serialization\FPlatformTypeLayoutParameters) & LayoutParams, [FSHA1](API\Runtime\Core\Misc\FSHA1) & Hasher )


description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.


description: Compacts the allocated elements into a contiguous index range. Returns true if any elements were relocated, false otherwise.

code: bool Compact()


description: Compacts the allocated elements into a contiguous index range. Does not change the iteration order of the elements. Returns true if any elements were relocated, false otherwise.

code: bool CompactStable()


code: void CopyUnfrozen ( const [FMemoryUnfreezeContent](API\Runtime\Core\Serialization\FMemoryUnfreezeContent) & Context, void * Dst ) const


description: Creates a const iterator for the contents of this array


className: DataType

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FElementOrFreeListLink](API\Runtime\Core\Containers\TSparseArrayElementOrFreeListLin-), typename Allocator::ElementAllocator > DataType


description: Creates an iterator for the contents of this array


className: ElementType

code: typedef InElementType ElementType


description: Constructs a new item at a given index of the array.Indexto the new item

code: template<typename... ArgsType> int32 EmplaceAt ( int32 Index, ArgsType &&... Args )


description: Constructs a new item at the lowest free index of the array. This requires a search which can be accelerated with LowestFreeIndexSearchStart.Indexto the new item

code: template<typename... ArgsType> int32 EmplaceAtLowestFreeIndex ( int32 & LowestFreeIndexSearchStart, ArgsType &&... Args )


description: Removes all elements from the array, potentially leaving space allocated for an expected number of elements about to be added.

code: void Empty ( int32 ExpectedNumElements )


description: Constructs a new item at the last freed index of the array.Indexto the new item

code: template<typename... ArgsType> int32 Emplace ( ArgsType &&... Args )