SDEngine
Game Engine
Loading...
Searching...
No Matches
arena.hpp File Reference
#include <type_traits>
#include <sys/mman.h>
#include "../../../build/release-unity/SD/generated/SD/export.hpp"
#include "core/base.hpp"
#include "core/types.hpp"
+ Include dependency graph for arena.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ArenaParams
 
struct  Temp
 
struct  Arena
 

Enumerations

enum class  ArenaFlags : U64 { NONE = 0 , NO_CHAIN = (1 << 0) , LARGE_PAGES = (1 << 1) }
 

Functions

template<typename T >
FORCE_INLINE T constexpr align_pow2 (T x, T b)
 
consteval U64 kb (U64 n)
 
consteval U64 mb (U64 n)
 
consteval U64 gb (U64 n)
 
consteval U64 tb (U64 n)
 
template<typename T >
FORCE_INLINE T constexpr min (T a, T b)
 
template<typename T >
FORCE_INLINE T constexpr max (T a, T b)
 
template<typename T >
FORCE_INLINE T constexpr clamp_top (T a, T x)
 
template<typename T >
FORCE_INLINE T constexpr clamp_bot (T x, T b)
 
template<typename T >
FORCE_INLINE T constexpr clamp (T a, T x, T b)
 
 BITMASK_ENUM (ArenaFlags)
 
template<typename T >
T * arena_push (Arena *arena)
 
template<typename T >
T * arena_push_no_zero (Arena *arena)
 
SD_EXPORT Arenaarena_alloc (ArenaParams params={})
 
SD_EXPORT void arena_release (Arena *arena)
 

Enumeration Type Documentation

◆ ArenaFlags

Enumerator
NONE 
NO_CHAIN 
LARGE_PAGES 

Function Documentation

◆ align_pow2()

template<typename T >
FORCE_INLINE T constexpr align_pow2 ( x,
b 
)
constexpr

◆ arena_alloc()

SD_EXPORT Arena * arena_alloc ( ArenaParams  params = {})

◆ arena_push()

template<typename T >
T * arena_push ( Arena arena)

◆ arena_push_no_zero()

template<typename T >
T * arena_push_no_zero ( Arena arena)

◆ arena_release()

SD_EXPORT void arena_release ( Arena arena)

◆ BITMASK_ENUM()

BITMASK_ENUM ( ArenaFlags  )

◆ clamp()

template<typename T >
FORCE_INLINE T constexpr clamp ( a,
x,
b 
)
constexpr

◆ clamp_bot()

template<typename T >
FORCE_INLINE T constexpr clamp_bot ( x,
b 
)
constexpr

◆ clamp_top()

template<typename T >
FORCE_INLINE T constexpr clamp_top ( a,
x 
)
constexpr

◆ gb()

consteval U64 gb ( U64  n)

◆ kb()

consteval U64 kb ( U64  n)

◆ max()

template<typename T >
FORCE_INLINE T constexpr max ( a,
b 
)
constexpr

◆ mb()

consteval U64 mb ( U64  n)

◆ min()

template<typename T >
FORCE_INLINE T constexpr min ( a,
b 
)
constexpr

◆ tb()

consteval U64 tb ( U64  n)