|
| | TPagedArray ()=default |
| |
| | TPagedArray (TPagedArray &&Other) |
| |
| | TPagedArray (const TPagedArray &Other)=default |
| |
| | TPagedArray (std::initializer_list< ElementType > InList) |
| |
| | TPagedArray (const ElementType *InSource, SizeType InSize) |
| |
| | ~TPagedArray () |
| |
| TPagedArray & | operator= (TPagedArray &&Other) |
| |
| TPagedArray & | operator= (const TPagedArray &Other)=default |
| |
| TPagedArray & | operator= (std::initializer_list< ElementType > InList) |
| |
| const ElementType & | operator[] (SizeType Index) const |
| |
| ElementType & | operator[] (SizeType Index) |
| |
| SIZE_T | GetAllocatedSize () const |
| |
| void | CountBytes (FArchive &Ar) const |
| |
| UE_FORCEINLINE_HINT SizeType | Max () const |
| |
| UE_FORCEINLINE_HINT SizeType | Num () const |
| |
| UE_FORCEINLINE_HINT SizeType | NumPages () const |
| |
| UE_FORCEINLINE_HINT bool | IsValidIndex (SizeType Index) const |
| |
| UE_FORCEINLINE_HINT bool | IsEmpty () const |
| |
| const ElementType & | Last () const |
| |
| ElementType & | Last () |
| |
| void | SetNum (SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >()) |
| |
| UE_FORCEINLINE_HINT void | SetNum (SizeType NewNum, bool bAllowShrinking) |
| |
| void | SetMem (uint8 ByteValue) |
| |
| UE_FORCEINLINE_HINT void | SetZero () |
| |
| void | Append (const ElementType *InSource, SizeType InSize) |
| |
| void | Append (std::initializer_list< ElementType > InList) |
| |
| template<typename ContainerType > |
| UE_FORCEINLINE_HINT void | Append (ContainerType &&Container) |
| |
| template<int32 OtherPageSizeInBytes, typename OtherAllocator > |
| void | Append (const TPagedArray< ElementType, OtherPageSizeInBytes, OtherAllocator > &Other) |
| |
| void | Assign (const ElementType *InSource, SizeType InSize) |
| |
| void | Assign (std::initializer_list< ElementType > InList) |
| |
| template<typename ContainerType > |
| void | Assign (ContainerType &&Container) |
| |
| template<int32 OtherPageSizeInBytes, typename OtherAllocator > |
| void | Assign (const TPagedArray< ElementType, OtherPageSizeInBytes, OtherAllocator > &Other) |
| |
| template<typename... ArgsType> |
| SizeType | Emplace (ArgsType &&... Args) |
| |
| template<typename... ArgsType> |
| ElementType & | Emplace_GetRef (ArgsType &&... Args) |
| |
| UE_FORCEINLINE_HINT SizeType | Add (const ElementType &Element) |
| |
| UE_FORCEINLINE_HINT SizeType | Add (ElementType &&Element) |
| |
| UE_FORCEINLINE_HINT ElementType & | Add_GetRef (const ElementType &Element) |
| |
| UE_FORCEINLINE_HINT ElementType & | Add_GetRef (ElementType &&Element) |
| |
| UE_FORCEINLINE_HINT void | Push (const ElementType &Element) |
| |
| UE_FORCEINLINE_HINT void | Push (ElementType &&Element) |
| |
| void | Pop (EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >()) |
| |
| UE_FORCEINLINE_HINT void | Pop (bool bAllowShrinking) |
| |
| void | RemoveAtSwap (SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >()) |
| |
| UE_FORCEINLINE_HINT void | RemoveAtSwap (SizeType Index, bool bAllowShrinking) |
| |
| void | Empty () |
| |
| void | Empty (SizeType InCapacity) |
| |
| void | Reset () |
| |
| void | Reset (SizeType InCapacity) |
| |
| void | Reserve (SizeType InCount) |
| |
| template<typename AnyAllocator > |
| void | ToArray (TArray< ElementType, AnyAllocator > &OutDestination) const & |
| |
| template<typename AnyAllocator > |
| void | ToArray (TArray< ElementType, AnyAllocator > &OutDestination) && |
| |
| UE_FORCEINLINE_HINT ConstIteratorType | begin () const |
| |
| UE_FORCEINLINE_HINT IteratorType | begin () |
| |
| UE_FORCEINLINE_HINT ConstIteratorType | end () const |
| |
| UE_FORCEINLINE_HINT IteratorType | end () |
| |
| bool | operator== (const TPagedArray &Right) const |
| |
| UE_FORCEINLINE_HINT bool | operator!= (const TPagedArray &Right) const |
| |
Fixed size block allocated container class.
This container mimics the behavior of an array without fulfilling the contiguous storage guarantee. Instead, it allocates memory in pages. Each page is a block of memory of the parameter page size in bytes. Elements within a page are guaranteed to be contiguous. Paged arrays have the following advantages v normal arrays:
- It's more suited for large sized arrays as they don't require a single contiguous memory block. This make them less vulnerable to memory fragmentation.
- The contained elements' addresses are persistent as long as the container isn't resized.