pma

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public struct

DefaultInstanceCreator

Public struct

DefaultInstanceDestroyer

Public struct

Delete

Public struct

FactoryCreate

Public struct

FactoryDestroy

Public struct

max_align_of

Public class

MemoryResource

MemoryResource is an abstract class that allows the implementation of polymorphic allocators. @note It's purpose is to allow passing arbitrary allocators through API boundaries, without requiring changes in the signatures and types involved.

Public struct

New

Public class

PolyAllocator

Public class

PolyAllocator

Public class

ScopedPtr

Takes ownership over the given pointer and handles it's lifetime. @note As ScopedPtr inherits the specified destroyer type, stateless lifetime managers are zero-cost, but it's also possible to use stateful lifetime managers (such as lambdas with captures and what-not). For stateful lifetime managers, a dedicated constructor exists that receives the destroyer instance and initializes the inherited destroyer type with it.

Typedefs

Functions

Name Description

Public function

ScopedPtr< B...

 

pma::makeScoped

(
    Args&&... args
)

Syntactic sugar for creating instances wrapped in a ScopedPtr. @note The default behavior is to rely on the New / Delete pair of lifetime managers, because it's sensible to do so. However, because a significant portion of our abstractions follow the convention of exposing a create / destroy pair of factory functions (where create always returns a raw pointer), there also exists a dedicated FactoryCreate / FactoryDestroy pair of lifetime managers. To change the default behavior in order to utilize a specific lifetime manager pair, specialize the DefaultInstanceCreator and DefaultInstanceDestroyer traits for the types that need different handling. Alternately, it's also possible to pass a custom creator / destroyer on each invocation.

Public function

ScopedPtr< T...

 

pma::makeScoped

(
    Args&&... args
)

Public function

ScopedPtr< T...

 

pma::makeScoped

(
    Args&&... args
)

Public function

bool

 

pma::operator!=

(
    const PolyAllocator< T, TAlignment,...,
    const PolyAllocator< U, UAlignment,...
)

Public function

bool

 

pma::operator==

(
    const PolyAllocator< T, TAlignment,...,
    const PolyAllocator< U, UAlignment,...
)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss