![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <UniversalObjectLocatorResolveParameterBuffer.h>
Inheritance diagram for UE::UniversalObjectLocator::FResolveParameterBuffer:Public Member Functions | |
| UNIVERSALOBJECTLOCATOR_API | FResolveParameterBuffer () |
| UNIVERSALOBJECTLOCATOR_API | ~FResolveParameterBuffer () |
| FResolveParameterBuffer (const FResolveParameterBuffer &)=delete | |
| FResolveParameterBuffer & | operator= (const FResolveParameterBuffer &)=delete |
| FResolveParameterBuffer (FResolveParameterBuffer &&RHS)=delete | |
| FResolveParameterBuffer & | operator= (FResolveParameterBuffer &&RHS)=delete |
| template<typename T > | |
| const T * | FindParameter () const |
| template<typename T > | |
| const T * | FindParameter (TParameterTypeHandle< T > ParameterTypeHandle) const |
| template<typename T , typename ... ArgTypes> | |
| T * | AddParameter (TParameterTypeHandle< T > ParameterTypeHandle, ArgTypes &&... InArgs) |
Static Public Attributes | |
| static constexpr int32 | MaxNumParameters = sizeof(AllParameters) * 8 |
Protected Member Functions | |
| bool | HasParameter (uint32 ParameterBit) const |
| const void * | FindParameterImpl (uint32 ParameterBit) const |
| template<typename ParameterType , typename ... ArgTypes> | |
| ParameterType * | AddParameterImpl (uint32 ParameterBit, ArgTypes &&... InArgs) |
| const FResolveParameterHeader & | GetHeader (uint8 Index) const |
| int32 | GetParameterIndex (uint32 ParameterBit) const |
| void | Destroy () |
Protected Attributes | |
| uint8 * | Memory = nullptr |
| uint32 | AllParameters = 0u |
| uint16 | Capacity = 0u |
| uint8 | Num = 0u |
| bool | bCanFreeMemory = false |
A buffer of parameter structs that can be optionally supplied to a UOL when resolving to supply additional context.
Parameter types are registered through IUniversalObjectLocatorModule::RegisterParameterType and are identified by a unique index. Parameter structs are stored contiguously in memory after an array of headers that specify the offset of each parameter type.
Checking for the presence of a specific parameter type is very fast, amounting to a a simple bit operation.
| UE::UniversalObjectLocator::FResolveParameterBuffer::FResolveParameterBuffer | ( | ) |
Default constructor
| UE::UniversalObjectLocator::FResolveParameterBuffer::~FResolveParameterBuffer | ( | ) |
Destructor that calls each parameter's destructor, and frees the memory if necessary
|
delete |
Non-copyable
|
delete |
Non-moveable
| T * UE::UniversalObjectLocator::FResolveParameterBuffer::AddParameter | ( | TParameterTypeHandle< T > | ParameterTypeHandle, |
| ArgTypes &&... | InArgs | ||
| ) |
Add a new parameter to this container using its preregistered type handle. This function is accepts 0 or more additional construction arguments which are passed to the parameter's constructor.
|
protected |
Creates and stores a new Parameter object at the given bit.
|
protected |
Destroy this buffer and all its parameters
| const T * UE::UniversalObjectLocator::FResolveParameterBuffer::FindParameter | ( | ) | const |
Find a parameter of the specified type. Relies upon the struct type defining a static TParameterTypeHandle<T> called ParameterType that was previously registered through RegisterParameterType.
| const T * UE::UniversalObjectLocator::FResolveParameterBuffer::FindParameter | ( | TParameterTypeHandle< T > | ParameterTypeHandle | ) | const |
Find a parameter within this container that was added with the specified handle.
|
inlineprotected |
Implementation function for finding a parameter ptr by its bit
|
inlineprotected |
Retrieve the header at the specified index
|
inlineprotected |
Compute the index of the parameter that relates to the specified bit
|
inlineprotected |
Check whether the parameter for the specified parameter bit is present
|
delete |
|
delete |
|
protected |
Bitmask of all the parameters contained within this container
Boolean that indicates whether we own the memory pointed to by Memory, or if it was supplied externally
|
protected |
Current capacity of Memory in bytes
|
staticconstexpr |
|
protected |
Memory allocation of the layout [header_1|...|header_n|entry_0|...|entry_n]
|
protected |
The number of parameters (and thus, headers) in this container