std::experimental::latch::count_down_and_wait
From cppreference.com
 
 
 < cpp | experimental | latch 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Experimental 
 Filesystem library (filesystem TS)
 Library fundamentals (library fundamentals TS)
 Library fundamentals 2 (library fundamentals TS v2)
 Library fundamentals 3 (library fundamentals TS v3)
 Extensions for parallelism (parallelism TS)
 Extensions for parallelism 2 (parallelism TS v2)
 Extensions for concurrency (concurrency TS)
 Extensions for concurrency 2 (concurrency TS v2)
 Concepts (concepts TS)
 Ranges (ranges TS)
 Reflection (reflection TS)
 Mathematical special functions (special functions TR)
Extensions for concurrency 
 std::future extensions
 Latches and barriers
 Atomic smart pointers
void count_down_and_wait();
 (1) 
 (concurrency TS) 
Atomically decrements the internal counter by 1 and (if necessary) blocks the calling 
thread until the counter reaches zero.
The behavior is undefined if the internal counter is already zero.
This operation synchronizes with all calls that block on this latch and all is_ready calls on this latch that returns true.
[edit] Parameters
(none)
[edit] Return value
(none)
[edit] Exceptions
Throws nothing.