![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <QueuedThreadPool.h>
Public Member Functions | |
| CORE_API | FThreadPoolPriorityQueue () |
| CORE_API void | Enqueue (IQueuedWork *InQueuedWork, EQueuedWorkPriority InPriority=EQueuedWorkPriority::Normal) |
| CORE_API bool | Retract (IQueuedWork *InQueuedWork) |
| CORE_API IQueuedWork * | Dequeue (EQueuedWorkPriority *OutDequeuedWorkPriority=nullptr) |
| CORE_API IQueuedWork * | Peek (EQueuedWorkPriority *OutDequeuedWorkPriority=nullptr) const |
| CORE_API void | Reset () |
| int32 | Num () const |
| CORE_API void | Sort (EQueuedWorkPriority InPriorityBucket, TFunctionRef< bool(const IQueuedWork *A, const IQueuedWork *B)> Predicate) |
Priority Queue tailored for FQueuedThreadPool implementation
This class is NOT thread-safe and must be properly protected.
| FThreadPoolPriorityQueue::FThreadPoolPriorityQueue | ( | ) |
| IQueuedWork * FThreadPoolPriorityQueue::Dequeue | ( | EQueuedWorkPriority * | OutDequeuedWorkPriority = nullptr | ) |
Get the next work item in priority order.
| void FThreadPoolPriorityQueue::Enqueue | ( | IQueuedWork * | InQueuedWork, |
| EQueuedWorkPriority | InPriority = EQueuedWorkPriority::Normal |
||
| ) |
Enqueue a work item at specified priority
|
inline |
Get the total number of queued items.
| IQueuedWork * FThreadPoolPriorityQueue::Peek | ( | EQueuedWorkPriority * | OutDequeuedWorkPriority = nullptr | ) | const |
Get the next work item in priority order without actually dequeuing.
| void FThreadPoolPriorityQueue::Reset | ( | ) |
Empty the queue.
| bool FThreadPoolPriorityQueue::Retract | ( | IQueuedWork * | InQueuedWork | ) |
Search and remove a queued work item from the list
| void FThreadPoolPriorityQueue::Sort | ( | EQueuedWorkPriority | InPriorityBucket, |
| TFunctionRef< bool(const IQueuedWork *A, const IQueuedWork *B)> | Predicate | ||
| ) |
Sort Priority Bucket given Predicate