|
SDL3pp
A slim C++ wrapper for SDL3
|
Semi-safe reference for Semaphore.


Public Member Functions | |
| SemaphoreRef (SemaphoreParam resource) noexcept | |
| Constructs from SemaphoreParam. More... | |
| SemaphoreRef (SemaphoreRaw resource) noexcept | |
| Constructs from SemaphoreParam. More... | |
| SemaphoreRef (const SemaphoreRef &other) noexcept | |
| Copy constructor. | |
| ~SemaphoreRef () | |
| Destructor. | |
| constexpr | Semaphore (std::nullptr_t=nullptr) noexcept |
| Default ctor. | |
| constexpr | Semaphore (const SemaphoreRaw resource) noexcept |
| Constructs from SemaphoreParam. More... | |
| constexpr | Semaphore (const Semaphore &other)=delete |
| Copy constructor. | |
| constexpr | Semaphore (Semaphore &&other) noexcept |
| Move constructor. | |
| constexpr | Semaphore (const SemaphoreRef &other)=delete |
| constexpr | Semaphore (SemaphoreRef &&other)=delete |
| Semaphore (Uint32 initial_value) | |
| Create a semaphore. More... | |
Public Member Functions inherited from SDL::Semaphore | |
| constexpr | Semaphore (std::nullptr_t=nullptr) noexcept |
| Default ctor. | |
| constexpr | Semaphore (const SemaphoreRaw resource) noexcept |
| Constructs from SemaphoreParam. More... | |
| constexpr | Semaphore (const Semaphore &other)=delete |
| Copy constructor. | |
| constexpr | Semaphore (Semaphore &&other) noexcept |
| Move constructor. | |
| constexpr | Semaphore (const SemaphoreRef &other)=delete |
| constexpr | Semaphore (SemaphoreRef &&other)=delete |
| Semaphore (Uint32 initial_value) | |
| Create a semaphore. More... | |
| ~Semaphore () | |
| Destructor. | |
| constexpr Semaphore & | operator= (Semaphore &&other) noexcept |
| Assignment operator. | |
| constexpr SemaphoreRaw | get () const noexcept |
| Retrieves underlying SemaphoreRaw. | |
| constexpr SemaphoreRaw | release () noexcept |
| Retrieves underlying SemaphoreRaw and clear this. | |
| constexpr auto | operator<=> (const Semaphore &other) const noexcept=default |
| Comparison. | |
| constexpr | operator bool () const noexcept |
| Converts to bool. | |
| constexpr | operator SemaphoreParam () const noexcept |
| Converts to SemaphoreParam. | |
| void | Destroy () |
| Destroy a semaphore. More... | |
| void | Wait () |
| Wait until a semaphore has a positive value and then decrements it. More... | |
| bool | TryWait () |
| See if a semaphore has a positive value and decrement it if it does. More... | |
| bool | WaitTimeout (std::chrono::milliseconds timeout) |
| Wait until a semaphore has a positive value and then decrements it. More... | |
| void | Signal () |
| Atomically increment a semaphore's value and wake waiting threads. More... | |
| Uint32 | GetValue () const |
| Get the current value of a semaphore. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from SDL::Semaphore | |
| constexpr Semaphore & | operator= (const Semaphore &other) noexcept=default |
| Assignment operator. | |
|
inlinenoexcept |
| resource | a SemaphoreRaw or Semaphore. |
This does not takes ownership!
|
inlinenoexcept |
| resource | a SemaphoreRaw or Semaphore. |
This does not takes ownership!
|
inlineexplicitconstexprnoexcept |
| resource | a SemaphoreRaw to be wrapped. |
This assumes the ownership, call release() if you need to take back.
|
inline |
This function creates a new semaphore and initializes it with the value initial_value. Each wait operation on the semaphore will atomically decrement the semaphore value and potentially block if the semaphore value is 0. Each post operation will atomically increment the semaphore value and wake waiting threads and allow them to retry the wait operation.
| initial_value | the starting value of the semaphore. |