Memory

Choose your operating system:

Windows

macOS

Linux

Classes

Name

Description

Public class

FAnsiArena

CRT heap allocator

All allocations are passed through to CRT memory allocation functions

Public class

FArenaPointer

Tagged Arena Pointer

Public class

FBufferOwner

A reference-counted owner for a buffer, which is a raw pointer and size.

Public class

FCompositeBuffer

FCompositeBuffer is a non-contiguous buffer composed of zero or more immutable shared buffers.

Public class

FMallocArena

Heap arena

Public class

FMemoryArena

Memory arena interface

Public class

FSharedBuffer

A reference to a shared-ownership immutable buffer.

Public struct

FSharedOps

Public class

FUniqueBuffer

A reference to a single-ownership mutable buffer.

Public struct

FWeakOps

Public class

FWeakSharedBuffer

A weak reference to a shared-ownership immutable buffer.

Public class

TArenaPointer

Public class

TBufferOwnerDeleteFunction

Public class

TBufferOwnerPtr

Public class

TBufferOwnerTArray

Public class

TMemoryView

A non-owning view of a contiguous region of memory.

Typedefs

Name

Description

FMemoryView

A non-owning view of a contiguous region of memory.

FMutableMemoryView

A non-owning mutable view of a contiguous region of memory.

Functions

Name Description

Public function

FArenaPointe...

 

ArenaRealloc

(
    FArenaPointer InPtr,
    SIZE_T OldSize,
    SIZE_T NewSize,
    SIZE_T Alignment
)

Public function

FArenaPointe...

 

ArenaRealloc

(
    FMemoryArena* Arena,
    void* InPtr,
    SIZE_T OldSize,
    SIZE_T NewSize,
    SIZE_T Alignment
)

Public function

uint32

 

GetTypeHash

(
    const FWeakSharedBuffer& Buffer
)

Public function

uint32

 

GetTypeHash

(
    const FSharedBuffer& Buffer
)

Public function

uint32

 

GetTypeHash

(
    const FUniqueBuffer& Buffer
)

Public function

TMemoryView<...

 

MakeMemoryView

(
    const void* Data,
    DataEndType* DataEnd
)

Make a non-owning const view starting at Data and ending at DataEnd.

Public function

TMemoryView<...

 

MakeMemoryView

(
    void* Data,
    DataEndType* DataEnd
)

Make a non-owning mutable view starting at Data and ending at DataEnd.

Public function

constexpr TM...

 

MakeMemoryView

(
    const void* Data,
    uint64 Size
)

Make a non-owning const view of Size bytes starting at Data.

Public function

constexpr TM...

 

MakeMemoryView

(
    void* Data,
    uint64 Size
)

Make a non-owning mutable view of Size bytes starting at Data.

Public function

constexpr au...

 

MakeMemoryView

(
    ContainerType&& Container
)

Make a non-owning view of the memory of the contiguous container.

Public function

constexpr TM...

 

MakeMemoryView

(
    std::initializer_list< typename TId...
)

Make a non-owning view of the memory of the initializer list.

Public function

FSharedBuffe...

 

MakeSharedBufferFromArray

(
    TArray< T, Allocator >&& Array
)

Construct a shared buffer by taking ownership of an array.

Public function

constexpr bo...

 

operator!

Public function

auto

 

operator!=

(
    const TypeA& BufferA,
    const TypeB& BufferB
)

Public function

constexpr FB...

 

operator&

Public function

FBufferOwner...

 

operator&=

Public function

constexpr FB...

 

operator^

Public function

FBufferOwner...

 

operator^=

Public function

constexpr FB...

 

operator|

Public function

FBufferOwner...

 

operator|=

Public function

constexpr FB...

 

operator~

Public function

constexpr TM...

 

operator+

(
    const TMemoryView< DataType >& Vie...,
    uint64 Offset
)

Advances the start of the view by an offset, which is clamped to stay within the view.

Public function

constexpr TM...

 

operator+

(
    uint64 Offset,
    const TMemoryView< DataType >& Vie...
)

Advances the start of the view by an offset, which is clamped to stay within the view.

Public function

auto

 

operator==

(
    const TypeA& BufferA,
    const TypeB& BufferB
)