KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
UObjectAllocator.h File Reference

This file contains the class FUObjectAllocator along with the global variable declaration and several helper routines. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Karma::TIsIntegral< T >
 
struct  Karma::TIsIntegral< bool >
 
struct  Karma::TIsIntegral< char >
 
struct  Karma::TIsIntegral< signed char >
 
struct  Karma::TIsIntegral< unsigned char >
 
struct  Karma::TIsIntegral< char16_t >
 
struct  Karma::TIsIntegral< char32_t >
 
struct  Karma::TIsIntegral< wchar_t >
 
struct  Karma::TIsIntegral< short >
 
struct  Karma::TIsIntegral< unsigned short >
 
struct  Karma::TIsIntegral< int >
 
struct  Karma::TIsIntegral< unsigned int >
 
struct  Karma::TIsIntegral< long >
 
struct  Karma::TIsIntegral< unsigned long >
 
struct  Karma::TIsIntegral< long long >
 
struct  Karma::TIsIntegral< unsigned long long >
 
struct  Karma::TIsIntegral< const T >
 
struct  Karma::TIsIntegral< volatile T >
 
struct  Karma::TIsIntegral< const volatile T >
 
struct  Karma::TIsPointer< T >
 Traits class which tests if a type is a pointer. More...
 
struct  Karma::TIsPointer< T * >
 
struct  Karma::TIsPointer< const T >
 
struct  Karma::TIsPointer< volatile T >
 
struct  Karma::TIsPointer< const volatile T >
 
class  Karma::FUObjectAllocator
 A pool allocator for Karma's UObjects. More...
 

Typedefs

typedef void(* Karma::FUObjectAllocatorCallback) (void *InObject, const std::string &InName, size_t InSize, size_t InAlignment, class UClass *InClass)
 A definition useful for UObjects statistics.
 

Functions

template<typename T>
FORCEINLINE constexpr T Karma::Align (T Val, uint64_t Alignment)
 

Detailed Description

This file contains the class FUObjectAllocator along with the global variable declaration and several helper routines.

Author
Ravi Mohan (the_cowboy)
Version
1.0
Date
March 8, 2023

Typedef Documentation

◆ FUObjectAllocatorCallback

typedef void(* Karma::FUObjectAllocatorCallback)(void *InObject, const std::string &InName, size_t InSize, size_t InAlignment, class UClass *InClass)

A definition useful for UObjects statistics.

We are defining here again because we don't want dependency with Object.h include which already has this definition

Parameters
InObjectThe pointer to the newlly allocated UObject
Since
Karma 1.0.0

For UObjects statistics

Function Documentation

◆ Align()

template<typename T>
FORCEINLINE constexpr T Karma::Align ( T Val,
uint64_t Alignment )
constexpr

Aligns a value to the nearest higher multiple of 'Alignment', which must be a power of two.

Parameters
ValThe value to align.
AlignmentThe alignment value, must be a power of two.
Returns
The value aligned up to the specified alignment.