Raven Engine v0.1
Loading...
Searching...
No Matches
Memory

Memory management system. More...

Classes

struct  Raven::AllocatorTraits< T >
 Compile-time traits for determining allocation strategy of T. More...
class  Raven::MalevolentAllocator
 Fixed-size chunk pool allocator. More...
class  Raven::MemoryManager
 Central singleton for managing engine memory allocators. More...
class  Raven::Ref< T >
 Atomic reference-counted pointer. More...
class  Raven::Scope< T >
 Exclusive-ownership smart pointer. More...
class  Raven::ScopeWithAllocator< T >
 Scoped smart pointer that uses a specific allocator. More...
class  Raven::StackAllocator< T >
 Stack-based allocator for objects of type T. More...

Enumerations

enum class  Raven::AllocatorType { Raven::AllocatorType::None , Raven::AllocatorType::Stack , Raven::AllocatorType::Malevolent }
 Types of allocators supported by ScopeWithAllocator. More...

Functions

template<typename T, typename... Args>
constexpr Ref< T > Raven::CreateRef (Args &&... args)
 Helper to create a Ref<T> by allocating with rnew.

Detailed Description

Memory management system.

Enumeration Type Documentation

◆ AllocatorType

enum class Raven::AllocatorType
strong

Types of allocators supported by ScopeWithAllocator.

Enumerator
None 

No allocator (default).

Stack 

Stack-based allocator.

Malevolent 

Pool-based allocator.

Function Documentation

◆ CreateRef()

template<typename T, typename... Args>
Ref< T > Raven::CreateRef ( Args &&... args)
inlineconstexpr

Helper to create a Ref<T> by allocating with rnew.

Constructs a new T with the given arguments and returns a Ref<T>.

Template Parameters
TThe type to allocate.
Parameters
argsConstructor arguments for T.
Returns
Ref<T> managing the new object.