bump sync policy using a lock-free cursor.
More...
#include <bump_allocator.hpp>
bump sync policy using a lock-free cursor.
◆ BumpAtomic() [1/2]
| join::BumpAtomic::BumpAtomic |
( |
| ) |
|
|
defaultnoexcept |
◆ BumpAtomic() [2/2]
| join::BumpAtomic::BumpAtomic |
( |
BumpAtomic && | other | ) |
|
|
inlinenoexcept |
move constructor.
- Parameters
-
| other | other object to move. |
◆ advance()
| bool join::BumpAtomic::advance |
( |
uint64_t & | expected, |
|
|
uint64_t | desired ) |
|
inlinenoexcept |
advance the cursor.
- Parameters
-
| expected | expected cursor value, updated on failure. |
| desired | new cursor value. |
- Returns
- true if the cursor was advanced, false if another thread moved it first.
◆ load()
| uint64_t join::BumpAtomic::load |
( |
| ) |
const |
|
inlinenoexcept |
load the cursor.
- Returns
- cursor value.
◆ operator=()
move assignment operator.
- Parameters
-
| other | other object to move. |
- Returns
- this.
◆ store()
| void join::BumpAtomic::store |
( |
uint64_t | value | ) |
|
|
inlinenoexcept |
store the cursor.
- Parameters
-
The documentation for this class was generated from the following file: