smgl 0.11.0
Structured Metadata Engine and Graph Objects Library
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs
Singleton.hpp File Reference
#include <cassert>
#include <exception>
#include <functional>
#include "smgl/SingletonImpl.hpp"
Include dependency graph for Singleton.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  smgl::policy::CreateUsingNew< T >
 Creation policy that uses new to allocate an object on the stack. More...
 
struct  smgl::policy::CreateStatic< T >
 Creation policy which allocates a static object. More...
 
struct  smgl::policy::DefaultLifetime< T >
 Lifetime policy which schedules destruction using std::atexit. More...
 
class  smgl::policy::PhoenixLifetime< T >
 Lifetime policy which reconstructs a destroyed singleton if reaccessed. More...
 
struct  smgl::policy::SingleThreaded< T >
 Threading policy for single-threaded applications. More...
 
struct  smgl::policy::SingleThreaded< T >::Lock
 Single-threaded lock type which does nothing. More...
 
class  smgl::detail::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >
 Class for constructing and managing the lifetime of a singleton object. More...
 

Namespaces

namespace  smgl
 Project top-level namespace.
 
namespace  smgl::policy
 Template policies namespace.
 
namespace  smgl::detail
 Implementation details namespace.
 

Typedefs

using smgl::policy::AtExitFunc = void(*)()
 Alias for a function type that can be passed to std::atexit.