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

#include <IoBuffer.h>

Public Types

enum  EAssumeOwnershipTag { AssumeOwnership }
 
enum  ECloneTag { Clone }
 
enum  EWrapTag { Wrap }
 

Public Member Functions

CORE_API FIoBuffer ()
 
CORE_API FIoBuffer (uint64 InSize)
 
CORE_API FIoBuffer (const void *Data, uint64 InSize, const FIoBuffer &OuterBuffer)
 
CORE_API FIoBuffer (FMemoryView Memory, const FIoBuffer &OuterBuffer)
 
CORE_API FIoBuffer (EAssumeOwnershipTag, const void *Data, uint64 InSize)
 
CORE_API FIoBuffer (EAssumeOwnershipTag, FMemoryView Memory)
 
CORE_API FIoBuffer (ECloneTag, const void *Data, uint64 InSize)
 
CORE_API FIoBuffer (ECloneTag, FMemoryView Memory)
 
CORE_API FIoBuffer (EWrapTag, const void *Data, uint64 InSize)
 
CORE_API FIoBuffer (EWrapTag, FMemoryView Memory)
 
const uint8Data () const
 
uint8Data ()
 
const uint8GetData () const
 
uint8GetData ()
 
uint64 DataSize () const
 
uint64 GetSize () const
 
FMemoryView GetView () const
 
FMutableMemoryView GetMutableView ()
 
void SetSize (uint64 InSize)
 
bool IsMemoryOwned () const
 
void EnsureOwned () const
 
bool operator!= (const FIoBuffer &Rhs) const
 
CORE_API void MakeOwned () const
 
CORE_API TIoStatusOr< uint8 * > Release ()
 

Friends

class FIoBufferManager
 

Detailed Description

Reference to buffer data used by I/O dispatcher APIs

Member Enumeration Documentation

◆ EAssumeOwnershipTag

Enumerator
AssumeOwnership 

◆ ECloneTag

Enumerator
Clone 

◆ EWrapTag

Enumerator
Wrap 

Constructor & Destructor Documentation

◆ FIoBuffer() [1/10]

FIoBuffer::FIoBuffer ( )

◆ FIoBuffer() [2/10]

FIoBuffer::FIoBuffer ( uint64  InSize)
explicit

◆ FIoBuffer() [3/10]

FIoBuffer::FIoBuffer ( const void Data,
uint64  InSize,
const FIoBuffer OuterBuffer 
)

◆ FIoBuffer() [4/10]

FIoBuffer::FIoBuffer ( FMemoryView  Memory,
const FIoBuffer OuterBuffer 
)

◆ FIoBuffer() [5/10]

FIoBuffer::FIoBuffer ( FIoBuffer::EAssumeOwnershipTag  ,
const void Data,
uint64  InSize 
)

◆ FIoBuffer() [6/10]

FIoBuffer::FIoBuffer ( FIoBuffer::EAssumeOwnershipTag  ,
FMemoryView  Memory 
)

◆ FIoBuffer() [7/10]

FIoBuffer::FIoBuffer ( FIoBuffer::ECloneTag  ,
const void Data,
uint64  InSize 
)

◆ FIoBuffer() [8/10]

FIoBuffer::FIoBuffer ( FIoBuffer::ECloneTag  ,
FMemoryView  Memory 
)

◆ FIoBuffer() [9/10]

FIoBuffer::FIoBuffer ( FIoBuffer::EWrapTag  ,
const void Data,
uint64  InSize 
)

◆ FIoBuffer() [10/10]

FIoBuffer::FIoBuffer ( FIoBuffer::EWrapTag  ,
FMemoryView  Memory 
)

Member Function Documentation

◆ Data() [1/2]

uint8 * FIoBuffer::Data ( )
inline

◆ Data() [2/2]

const uint8 * FIoBuffer::Data ( ) const
inline

◆ DataSize()

uint64 FIoBuffer::DataSize ( ) const
inline

◆ EnsureOwned()

void FIoBuffer::EnsureOwned ( ) const
inline

◆ GetData() [1/2]

uint8 * FIoBuffer::GetData ( )
inline

◆ GetData() [2/2]

const uint8 * FIoBuffer::GetData ( ) const
inline

◆ GetMutableView()

FMutableMemoryView FIoBuffer::GetMutableView ( )
inline

◆ GetSize()

uint64 FIoBuffer::GetSize ( ) const
inline

◆ GetView()

FMemoryView FIoBuffer::GetView ( ) const
inline

◆ IsMemoryOwned()

bool FIoBuffer::IsMemoryOwned ( ) const
inline

◆ MakeOwned()

void FIoBuffer::MakeOwned ( ) const

◆ operator!=()

bool FIoBuffer::operator!= ( const FIoBuffer Rhs) const
inline

◆ Release()

TIoStatusOr< uint8 * > FIoBuffer::Release ( )

Relinquishes control of the internal buffer to the caller and removes it from the FIoBuffer. This allows the caller to assume ownership of the internal data and prevent it from being deleted along with the FIoBuffer.

NOTE: It is only valid to call this if the FIoBuffer currently owns the internal memory allocation, as the point of the call is to take ownership of it. If the FIoBuffer is only wrapping the allocation then it will return a failed FIoStatus instead.

Returns
A status wrapper around the memory pointer. Even if the status is valid the pointer might still be null.

◆ SetSize()

void FIoBuffer::SetSize ( uint64  InSize)
inline

Friends And Related Symbol Documentation

◆ FIoBufferManager

friend class FIoBufferManager
friend

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