CommonLibSSE NG
GAtomic.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
REX/W32/BASE.h
"
4
5
namespace
RE
6
{
7
class
GLock
8
{
9
public
:
10
class
Locker
11
{
12
public
:
13
Locker
(
GLock
* a_lock);
14
~Locker
();
15
16
// members
17
GLock
*
lock
;
// 0
18
};
19
static_assert(
sizeof
(
Locker
) == 0x8);
20
21
GLock
(std::uint32_t a_spinCount = 0);
22
~GLock
();
23
24
void
operator
delete
(
void
*) =
delete
;
25
26
void
Lock
();
27
void
Unlock
();
28
29
// members
30
REX::W32::CRITICAL_SECTION
cs
;
// 00
31
};
32
static_assert(
sizeof
(
GLock
) == 0x28);
33
34
template
<
class
T>
35
class
GAtomicValueBase
36
{
37
public
:
38
// members
39
volatile
T
value
;
// 0
40
};
41
//static_assert(sizeof(GAtomicValueBase<std::int32_t>) == 0x4);
42
43
template
<
class
T>
44
class
GAtomicInt
:
public
GAtomicValueBase
<T>
// 0
45
{
46
public
:
47
};
48
//static_assert(sizeof(GAtomicInt<std::int32_t>) == 0x4);
49
}
BASE.h
RE::GAtomicInt
Definition:
GAtomic.h:45
RE::GAtomicValueBase
Definition:
GAtomic.h:36
RE::GAtomicValueBase::value
volatile T value
Definition:
GAtomic.h:39
RE::GLock::Locker
Definition:
GAtomic.h:11
RE::GLock::Locker::~Locker
~Locker()
RE::GLock::Locker::lock
GLock * lock
Definition:
GAtomic.h:17
RE::GLock::Locker::Locker
Locker(GLock *a_lock)
RE::GLock
Definition:
GAtomic.h:8
RE::GLock::GLock
GLock(std::uint32_t a_spinCount=0)
RE::GLock::cs
REX::W32::CRITICAL_SECTION cs
Definition:
GAtomic.h:30
RE::GLock::Unlock
void Unlock()
RE::GLock::~GLock
~GLock()
RE::GLock::Lock
void Lock()
RE
Definition:
AbsorbEffect.h:6
REX::W32::CRITICAL_SECTION
Definition:
BASE.h:137
CommonLibSSE-NG
include
RE
G
GAtomic.h
Generated by
1.9.1