UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSlateInvalidationWidgetPrepassHeap Class Reference

#include <SlateInvalidationWidgetHeap.h>

Classes

struct  FWidgetOrderGreater
 

Public Types

using FElement = FSlateInvalidationWidgetHeapElement
 
using SortPredicate = FWidgetOrderGreater
 
using FElementContainer = TArray< FElement, TInlineAllocator< NumberOfPreAllocatedElement > >
 

Public Member Functions

 FSlateInvalidationWidgetPrepassHeap (FSlateInvalidationWidgetList &InOwnerList)
 
void HeapPushUnique (FSlateInvalidationWidgetList::InvalidationWidgetType &InvalidationWidget)
 
void PushBackUnique (FSlateInvalidationWidgetList::InvalidationWidgetType &InvalidationWidget)
 
FElement HeapPop ()
 
int32 RemoveRange (const FSlateInvalidationWidgetList::FIndexRange &Range)
 
void Reset (bool bResetContained)
 
void Heapify ()
 
int32 Num () const
 
bool IsHeap () const
 
bool Contains_Debug (const FSlateInvalidationWidgetIndex WidgetIndex) const
 
bool IsValidHeap_Debug ()
 
const FElementContainerGetRaw () const
 
template<typename Predicate >
void ForEachIndexes (Predicate Pred)
 

Static Public Attributes

static constexpr int32 NumberOfPreAllocatedElement = 32
 

Detailed Description

Heap of widget, ordered by increasing sort order, of the widgets that need a SlatePrepass. Since a SlatePrepass of a parent widget will call the SlatePrepass of a child, only the parent will be in the list.

Member Typedef Documentation

◆ FElement

◆ FElementContainer

◆ SortPredicate

Constructor & Destructor Documentation

◆ FSlateInvalidationWidgetPrepassHeap()

FSlateInvalidationWidgetPrepassHeap::FSlateInvalidationWidgetPrepassHeap ( FSlateInvalidationWidgetList InOwnerList)
inline

Member Function Documentation

◆ Contains_Debug()

bool FSlateInvalidationWidgetPrepassHeap::Contains_Debug ( const FSlateInvalidationWidgetIndex  WidgetIndex) const
inline

Does it contains the widget index.

◆ ForEachIndexes()

template<typename Predicate >
void FSlateInvalidationWidgetPrepassHeap::ForEachIndexes ( Predicate  Pred)
inline

◆ GetRaw()

const FElementContainer & FSlateInvalidationWidgetPrepassHeap::GetRaw ( ) const
inline

Returns the raw list.

◆ Heapify()

void FSlateInvalidationWidgetPrepassHeap::Heapify ( )
inline

◆ HeapPop()

FElement FSlateInvalidationWidgetPrepassHeap::HeapPop ( )
inline

Returns and removes the biggest WidgetIndex from the list.

◆ HeapPushUnique()

void FSlateInvalidationWidgetPrepassHeap::HeapPushUnique ( FSlateInvalidationWidgetList::InvalidationWidgetType InvalidationWidget)
inline

Insert into the list at the proper order (see binary heap) but only if it's not already contains by the list.

◆ IsHeap()

bool FSlateInvalidationWidgetPrepassHeap::IsHeap ( ) const
inline

Returns the number of elements in the list.

◆ IsValidHeap_Debug()

bool FSlateInvalidationWidgetPrepassHeap::IsValidHeap_Debug ( )
inline

@retuns true if the heap is heapified.

◆ Num()

int32 FSlateInvalidationWidgetPrepassHeap::Num ( ) const
inline

Returns the number of elements in the list.

◆ PushBackUnique()

void FSlateInvalidationWidgetPrepassHeap::PushBackUnique ( FSlateInvalidationWidgetList::InvalidationWidgetType InvalidationWidget)
inline

Insert at the end of the list but only if it's not already contains by the list.

◆ RemoveRange()

int32 FSlateInvalidationWidgetPrepassHeap::RemoveRange ( const FSlateInvalidationWidgetList::FIndexRange Range)
inline

Remove range

◆ Reset()

void FSlateInvalidationWidgetPrepassHeap::Reset ( bool  bResetContained)
inline

Empties the list, but doesn't change memory allocations.

Member Data Documentation

◆ NumberOfPreAllocatedElement

constexpr int32 FSlateInvalidationWidgetPrepassHeap::NumberOfPreAllocatedElement = 32
staticconstexpr

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