UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments > Class Template Reference

#include <ResourcePool.h>

+ Inheritance diagram for TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments >:

Classes

class  FLockScope
 

Public Member Functions

 TResourcePool ()=default
 
 TResourcePool (ResourcePoolPolicy InPolicy)
 
virtual ~TResourcePool ()
 
uint32 PooledSizeForCreationArguments (ResourceCreationArguments Args)
 
ResourceType CreatePooledResource (FRHICommandListBase &RHICmdList, ResourceCreationArguments Args)
 
void ReleasePooledResource (ResourceType &&Resource)
 
void DrainPool (bool bForceDrainAll)
 

Detailed Description

template<typename ResourceType, class ResourcePoolPolicy, class ResourceCreationArguments>
class TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments >

A templated pool for resources that can only be freed at a 'safe' point in the frame.

Constructor & Destructor Documentation

◆ TResourcePool() [1/2]

◆ TResourcePool() [2/2]

Constructor with policy argument

Parameters
InPolicyAn initialised policy object

◆ ~TResourcePool()

template<typename ResourceType , class ResourcePoolPolicy , class ResourceCreationArguments >
virtual TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments >::~TResourcePool ( )
inlinevirtual

Destructor

Member Function Documentation

◆ CreatePooledResource()

template<typename ResourceType , class ResourcePoolPolicy , class ResourceCreationArguments >
ResourceType TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments >::CreatePooledResource ( FRHICommandListBase RHICmdList,
ResourceCreationArguments  Args 
)
inline

Creates a pooled resource.

Parameters
Argsthe argument object for construction.
Returns
An initialised resource.

◆ DrainPool()

template<typename ResourceType , class ResourcePoolPolicy , class ResourceCreationArguments >
void TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments >::DrainPool ( bool  bForceDrainAll)
inline

Drain the pool of freed resources that need to be culled or prepared for reuse.

Parameters
bForceDrainAllClear the pool of all free resources, rather than obeying the policy

◆ PooledSizeForCreationArguments()

template<typename ResourceType , class ResourcePoolPolicy , class ResourceCreationArguments >
uint32 TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments >::PooledSizeForCreationArguments ( ResourceCreationArguments  Args)
inline

Gets the size a pooled object will use when constructed from the pool.

Parameters
Argsthe argument object for construction.
Returns
The size for a pooled object created with Args

◆ ReleasePooledResource()

template<typename ResourceType , class ResourcePoolPolicy , class ResourceCreationArguments >
void TResourcePool< ResourceType, ResourcePoolPolicy, ResourceCreationArguments >::ReleasePooledResource ( ResourceType &&  Resource)
inline

Release a resource back into the pool.

Parameters
ResourceThe resource to return to the pool

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