Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::SingletonFinalizer Class Reference

#include <singleton.h>

Classes

struct  Entry

Public Types

using FinalizerFunc = void (*)()

Static Public Member Functions

static void Finalize ()
template<typename T>
static void FinalizeClass ()

Static Private Member Functions

static void AddFinalizer (std::type_index type, FinalizerFunc finalize)
static void FinalizeType (std::type_index type)

Static Private Attributes

static std::mutex s_mutex
static std::vector< Entry > s_finalizers

Friends

template<typename T>
class Singleton

Detailed Description

Definition at line 21 of file singleton.h.

Member Typedef Documentation

◆ FinalizerFunc

Definition at line 23 of file singleton.h.

Member Function Documentation

◆ AddFinalizer()

void bicameral::SingletonFinalizer::AddFinalizer ( std::type_index type,
FinalizerFunc finalize )
staticprivate

Definition at line 20 of file singleton.cpp.

References s_finalizers, and s_mutex.

Referenced by bicameral::Singleton< T >::Create().

Here is the caller graph for this function:

◆ Finalize()

void bicameral::SingletonFinalizer::Finalize ( )
static

Definition at line 26 of file singleton.cpp.

References s_finalizers, and s_mutex.

Referenced by wmain().

Here is the caller graph for this function:

◆ FinalizeClass()

template<typename T>
void bicameral::SingletonFinalizer::FinalizeClass ( )
inlinestatic

Definition at line 30 of file singleton.h.

References FinalizeType().

Here is the call graph for this function:

◆ FinalizeType()

void bicameral::SingletonFinalizer::FinalizeType ( std::type_index type)
staticprivate

Definition at line 39 of file singleton.cpp.

References s_finalizers, s_mutex, and bicameral::SingletonFinalizer::Entry::type.

Referenced by FinalizeClass().

Here is the caller graph for this function:

◆ Singleton

template<typename T>
friend class Singleton
friend

Definition at line 36 of file singleton.h.

References Singleton.

Referenced by Singleton.

Member Data Documentation

◆ s_finalizers

std::vector< SingletonFinalizer::Entry > bicameral::SingletonFinalizer::s_finalizers
staticprivate

Definition at line 47 of file singleton.h.

Referenced by AddFinalizer(), Finalize(), and FinalizeType().

◆ s_mutex

std::mutex bicameral::SingletonFinalizer::s_mutex
staticprivate

Definition at line 46 of file singleton.h.

Referenced by AddFinalizer(), Finalize(), and FinalizeType().


The documentation for this class was generated from the following files: