UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType > Class Template Reference

#include <Allocator.h>

Public Member Functions

 ForElementType (EDefaultInit)
 
ULANG_FORCEINLINE ForElementType (const RawAllocatorType &Allocator)
 
ULANG_FORCEINLINE ForElementType (AllocatorArgsType... AllocatorArgs)
 
ULANG_FORCEINLINE void MoveToEmpty (ForElementType &Other)
 
ULANG_FORCEINLINE ElementType * GetAllocation () const
 
ULANG_FORCEINLINE const RawAllocatorTypeGetRawAllocator () const
 
ULANG_FORCEINLINE void ResizeAllocation (int32_t PreviousNumElements, int32_t NumElements, size_t NumBytesPerElement)
 
ULANG_FORCEINLINE int32_t CalculateSlackReserve (int32_t NumElements, int32_t NumBytesPerElement) const
 
ULANG_FORCEINLINE int32_t CalculateSlackShrink (int32_t NumElements, int32_t NumAllocatedElements, int32_t NumBytesPerElement) const
 
ULANG_FORCEINLINE int32_t CalculateSlackGrow (int32_t NumElements, int32_t NumAllocatedElements, int32_t NumBytesPerElement) const
 
ULANG_FORCEINLINE size_t GetAllocatedSize (int32_t NumAllocatedElements, size_t NumBytesPerElement) const
 
ULANG_FORCEINLINE bool HasAllocation () const
 
uint32_t GetInitialCapacity () const
 

Constructor & Destructor Documentation

◆ ForElementType() [1/3]

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::ForElementType ( EDefaultInit  )
inline

Default constructor.

◆ ForElementType() [2/3]

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::ForElementType ( const RawAllocatorType Allocator)
inline

Constructor with given allocator

◆ ForElementType() [3/3]

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::ForElementType ( AllocatorArgsType...  AllocatorArgs)
inline

Member Function Documentation

◆ CalculateSlackGrow()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE int32_t uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::CalculateSlackGrow ( int32_t  NumElements,
int32_t  NumAllocatedElements,
int32_t  NumBytesPerElement 
) const
inline

◆ CalculateSlackReserve()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE int32_t uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::CalculateSlackReserve ( int32_t  NumElements,
int32_t  NumBytesPerElement 
) const
inline

◆ CalculateSlackShrink()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE int32_t uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::CalculateSlackShrink ( int32_t  NumElements,
int32_t  NumAllocatedElements,
int32_t  NumBytesPerElement 
) const
inline

◆ GetAllocatedSize()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE size_t uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::GetAllocatedSize ( int32_t  NumAllocatedElements,
size_t  NumBytesPerElement 
) const
inline

◆ GetAllocation()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE ElementType * uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::GetAllocation ( ) const
inline

◆ GetInitialCapacity()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
uint32_t uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::GetInitialCapacity ( ) const
inline

◆ GetRawAllocator()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE const RawAllocatorType & uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::GetRawAllocator ( ) const
inline

Accesses the container's raw allocator.

◆ HasAllocation()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE bool uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::HasAllocation ( ) const
inline

◆ MoveToEmpty()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE void uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::MoveToEmpty ( ForElementType< ElementType > &  Other)
inline

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).

Parameters
Other- The allocator to move the state from. This allocator should be left in a valid empty state.

◆ ResizeAllocation()

template<uint32_t NumInlineElements, typename SecondaryAllocator = TDefaultElementAllocator<CHeapRawAllocator>, typename... AllocatorArgsType>
template<typename ElementType >
ULANG_FORCEINLINE void uLang::TInlineElementAllocator< NumInlineElements, SecondaryAllocator, AllocatorArgsType >::ForElementType< ElementType >::ResizeAllocation ( int32_t  PreviousNumElements,
int32_t  NumElements,
size_t  NumBytesPerElement 
)
inline

The documentation for this class was generated from the following file: