CommonLibSSE NG
GHashSet.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GAllocator.h"
4 #include "RE/G/GFixedSizeHash.h"
5 #include "RE/G/GHashSetBase.h"
7 
8 namespace RE
9 {
10  template <
11  class C,
12  class HashF = GFixedSizeHash<C>,
13  class AltHashF = HashF,
14  class Allocator = GAllocatorGH<C>,
15  class Entry = GHashsetCachedEntry<C, HashF>>
16  class GHashSet :
17  public GHashSetBase<C, HashF, AltHashF, Allocator, Entry>
18  {
19  public:
22 
24  {}
25 
26  GHashSet(std::int32_t a_sizeHint) :
27  BaseType(a_sizeHint)
28  {}
29 
30  explicit GHashSet(void* a_heap) :
31  BaseType(a_heap)
32  {}
33 
34  GHashSet(void* a_heap, std::int32_t a_sizeHint) :
35  BaseType(a_heap, a_sizeHint)
36  {}
37 
38  GHashSet(const SelfType& a_src) :
39  BaseType(a_src)
40  {}
41 
43  {}
44 
45  void operator=(const SelfType& a_src)
46  {
47  Assign(this, a_src);
48  }
49 
50  template <class CRef>
51  void Set(const CRef& a_key)
52  {
53  BaseType::Set(this, a_key);
54  }
55 
56  template <class CRef>
57  inline void Add(const CRef& a_key)
58  {
59  BaseType::Add(this, a_key);
60  }
61 
62  void CheckExpand()
63  {
65  }
66 
67  void Resize(UPInt a_size)
68  {
69  BaseType::SetCapacity(this, a_size);
70  }
71 
72  void SetCapacity(UPInt a_newSize)
73  {
74  BaseType::SetCapacity(this, a_newSize);
75  }
76  };
77 }
Definition: GHashSetBase.h:18
void Set(void *a_memAddr, const CRef &a_key)
Definition: GHashSetBase.h:241
void SetCapacity(void *a_memAddr, UPInt a_newSize)
Definition: GHashSetBase.h:389
void Add(void *a_memAddr, const CRef &a_key)
Definition: GHashSetBase.h:258
void CheckExpand(void *a_memAddr)
Definition: GHashSetBase.h:375
Definition: GHashSet.h:18
void operator=(const SelfType &a_src)
Definition: GHashSet.h:45
void CheckExpand()
Definition: GHashSet.h:62
GHashSet(void *a_heap)
Definition: GHashSet.h:30
void Add(const CRef &a_key)
Definition: GHashSet.h:57
~GHashSet()
Definition: GHashSet.h:42
void Resize(UPInt a_size)
Definition: GHashSet.h:67
void Set(const CRef &a_key)
Definition: GHashSet.h:51
GHashSet(std::int32_t a_sizeHint)
Definition: GHashSet.h:26
void SetCapacity(UPInt a_newSize)
Definition: GHashSet.h:72
GHashSet(void *a_heap, std::int32_t a_sizeHint)
Definition: GHashSet.h:34
GHashSet()
Definition: GHashSet.h:23
GHashSet(const SelfType &a_src)
Definition: GHashSet.h:38
Definition: AbsorbEffect.h:6
std::size_t UPInt
Definition: SFTypes.h:5