CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BSTSingleton.h
Go to the documentation of this file.
1#pragma once
2
3namespace RE
4{
5 //=====================================================
6 // BSTSingletonExplicit
7 //=====================================================
8
9 template <class T>
11 {};
12
13 //=====================================================
14 // BSTSingletonImplicit
15 //=====================================================
16
17 template <class T>
19 {};
20
21 //=====================================================
22 // BSTSingletonSDM
23 //=====================================================
24
25 template <class>
27
28 template <class T>
30 {};
31
32 template <class T, class Alloc = BSTSingletonSDMOpStaticBuffer<T>>
34 {
35 using Type = T;
36 using Allocator = Alloc;
37 };
38
39 template <class Traits>
41 public Traits,
42 public Traits::Allocator
43 {
44 using Type = typename Traits::Type;
45 using Allocator = typename Traits::Allocator;
46 };
47
48 template <class T, template <class> class Singleton = BSTSingletonSDMOpStaticBuffer>
49 struct BSTSingletonSDM : public BSTSingletonSDMBase<BSTSDMTraits<T, Singleton<T>>>
50 {};
51}
Definition: AbsorbEffect.h:6
Definition: BSTSingleton.h:34
Alloc Allocator
Definition: BSTSingleton.h:36
T Type
Definition: BSTSingleton.h:35
Definition: BSTSingleton.h:11
Definition: BSTSingleton.h:19
Definition: BSTSingleton.h:43
typename Traits::Type Type
Definition: BSTSingleton.h:44
typename Traits::Allocator Allocator
Definition: BSTSingleton.h:45
Definition: BSTSingleton.h:50
Definition: BSTSingleton.h:30