Daily bit(e) of C++ | std::future<void>, std::shared_future<void>
Daily bit(e) of C++ #293, Simple one-shot signaling between threads using std::future<void> and std::shared_future<void>.
If you require simple one-shot signalling between threads (and are stuck in pre-C++20 times), the void specializations of std::future and std::shared_future can serve as solid high-level choices for 1:1 and 1:N signalling.