LeviLamina
Loading...
Searching...
No Matches
SharedRecursiveMutexBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace Bedrock::Threading {
6
7class SharedRecursiveMutexBase : public ::std::shared_mutex {
8public:
9 // member variables
10 // NOLINTBEGIN
14 // NOLINTEND
15
16public:
17 // prevent constructor by default
21
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 // vIndex: 0
26 virtual ~SharedRecursiveMutexBase() = default;
27
28 // vIndex: 1
29 virtual bool _threadHoldsSharedLock(::std::thread::id) = 0;
30
31 // vIndex: 2
32 virtual bool _shouldLockForSharedAccess(::std::thread::id) = 0;
33
34 // vIndex: 3
35 virtual bool _shouldUnLockForSharedAccess(::std::thread::id) = 0;
36 // NOLINTEND
37
38public:
39 // destructor thunk
40 // NOLINTBEGIN
41
42 // NOLINTEND
43
44public:
45 // virtual function thunks
46 // NOLINTBEGIN
47
48 // NOLINTEND
49
50public:
51 // vftables
52 // NOLINTBEGIN
53 MCAPI static void** $vftable();
54 // NOLINTEND
55};
56
57} // namespace Bedrock::Threading
Definition SharedRecursiveMutexBase.h:7
Definition Alias.h:14