| CatapultServer
    v0.5.0.1 (Elephant)
    | 


| Classes | |
| class | LockGuard | 
| Base class for RAII lock guards.  More... | |
| struct | ReaderLockGuard | 
| A reader lock guard.  More... | |
| struct | WriterLockGuard | 
| A writer lock guard.  More... | |
| Public Member Functions | |
| BasicSpinReaderWriterLock () | |
| Creates an unlocked lock.  More... | |
| ReaderLockGuard | acquireReader () | 
| Blocks until a reader lock can be acquired.  More... | |
| bool | isWriterPending () const | 
| Returns trueif there is a pending (or active) writer.  More... | |
| bool | isWriterActive () const | 
| Returns trueif there is an active writer.  More... | |
| bool | isReaderActive () const | 
| Returns trueif there is an active reader.  More... | |
| Private Member Functions | |
| bool | isSet (uint16_t mask) const | 
| Static Private Member Functions | |
| static void | Yield () | 
| Private Attributes | |
| std::atomic< uint16_t > | m_value | 
| Static Private Attributes | |
| static constexpr uint16_t | Active_Writer_Flag = 0x8000 | 
| static constexpr uint16_t | Pending_Writer_Mask = 0x7F00 | 
| static constexpr uint16_t | Reader_Mask = 0x00FF | 
| static constexpr uint16_t | Writer_Mask = Pending_Writer_Mask | Active_Writer_Flag | 
| static constexpr uint16_t | Active_Reader_Increment = 0x0001 | 
| static constexpr uint16_t | Pending_Writer_Increment = 0x0100 | 
Custom reader writer lock implemented by using an atomic that allows multiple readers and a single writer and prefers writers.
| 
 | inline | 
Creates an unlocked lock.
| 
 | inline | 
Blocks until a reader lock can be acquired.


| 
 | inline | 
Returns true if there is an active reader. 

| 
 | inlineprivate | 

| 
 | inline | 
Returns true if there is an active writer. 

| 
 | inline | 
Returns true if there is a pending (or active) writer. 

| 
 | inlinestaticprivate | 

| 
 | staticconstexprprivate | 
| 
 | staticconstexprprivate | 
| 
 | private | 
| 
 | staticconstexprprivate | 
| 
 | staticconstexprprivate | 
| 
 | staticconstexprprivate | 
| 
 | staticconstexprprivate |