Class anira::Semaphore¶
-
class Semaphore¶
Thin semaphore wrapper that mirrors the std::semaphore interface.
Backed either by std::binary_semaphore (modern platforms) or moodycamel::LightweightSemaphore (older Apple deployment targets), selected at compile time. Call sites use a single uniform API regardless of backend.
Public Functions
-
inline explicit Semaphore(int initial_count = 0)¶
-
inline void release()¶
Increment the counter and unblock a waiter (std::semaphore::release).
-
inline void acquire()¶
Block until the counter is positive, then decrement (std::semaphore::acquire).
-
inline bool try_acquire()¶
Try to decrement without blocking (std::semaphore::try_acquire).
-
inline bool try_acquire_until(std::chrono::steady_clock::time_point wait_until)¶
Try to decrement, blocking until at most wait_until (std::semaphore::try_acquire_until).
-
inline explicit Semaphore(int initial_count = 0)¶