UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TChaosReadWriteResource< ResourceType > Class Template Reference

#include <BufferedData.h>

Public Member Functions

template<typename... ArgTypes>
 TChaosReadWriteResource (EInPlace, ArgTypes &&... Args)
 
void Swap ()
 
const ResourceType & GetRead () const
 
void ReleaseRead () const
 
ResourceType & GetWritable ()
 
const ResourceType & GetReadable () const
 

Detailed Description

template<typename ResourceType>
class Chaos::TChaosReadWriteResource< ResourceType >

Lockable resource for use with chaos data. External threads should call GetRead and ReleaseRead on this object to lock it for read. When this is done the physics thread will not be allowed to swap the buffers so external reads are safe. Physics code can use GetWritable to get access to the write buffer, no locks are performed here as the lock is only required from the physics side when swapping the buffers. No external thread should ever attempt to swap the buffer. Only the owning thread

Constructor & Destructor Documentation

◆ TChaosReadWriteResource()

template<typename ResourceType >
template<typename... ArgTypes>
Chaos::TChaosReadWriteResource< ResourceType >::TChaosReadWriteResource ( EInPlace  ,
ArgTypes &&...  Args 
)
inline

Member Function Documentation

◆ GetRead()

template<typename ResourceType >
const ResourceType & Chaos::TChaosReadWriteResource< ResourceType >::GetRead ( ) const
inline

Gets the readable version of the resource

◆ GetReadable()

template<typename ResourceType >
const ResourceType & Chaos::TChaosReadWriteResource< ResourceType >::GetReadable ( ) const
inline

Gets the owning thread's const readable side of the buffer

◆ GetWritable()

template<typename ResourceType >
ResourceType & Chaos::TChaosReadWriteResource< ResourceType >::GetWritable ( )
inline

Gets the owning thread's writable side of the buffer

◆ ReleaseRead()

template<typename ResourceType >
void Chaos::TChaosReadWriteResource< ResourceType >::ReleaseRead ( ) const
inline

Release read locks

◆ Swap()

template<typename ResourceType >
void Chaos::TChaosReadWriteResource< ResourceType >::Swap ( )
inline

Swaps the read/write sides of the buffer safely so no readers are interrupted (grabs a write lock)


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