std::latch:: try_wait

From cppreference.com
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe Reclamation
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
bool try_wait ( ) const noexcept ;
(since C++20)

Returns true only if the internal counter has reached zero. This function may spuriously return false with very low probability even if the internal counter has reached zero.

Parameters

(none)

Return value

With very low probability false , otherwise cnt == 0 , where cnt is the value of the internal counter.

Notes

The reason why a spurious result is permitted is to allow implementations to use a memory order more relaxed than std::memory_order_seq_cst .