#pragma once #include "wait.h" namespace NThreading::NWait { template [[nodiscard("This method creates TFuture, wait for it")]] TFuture WaitAll(TFutures const& futures, TSubscriptionManagerPtr manager = TSubscriptionManager::Default() , TCallbackExecutor&& executor = TCallbackExecutor()); template [[nodiscard("This method creates TFuture, wait for it")]] TFuture WaitAll(std::initializer_list const> futures, TSubscriptionManagerPtr manager = TSubscriptionManager::Default() , TCallbackExecutor&& executor = TCallbackExecutor()); template [[nodiscard("This method creates TFuture, wait for it")]] TFuture WaitAll(TFuture const& future1, TFuture const& future2, TSubscriptionManagerPtr manager = TSubscriptionManager::Default() , TCallbackExecutor&& executor = TCallbackExecutor()); } #define INCLUDE_LIBRARY_THREADING_FUTURE_WAIT_ALL_INL_H #include "wait_all_inl.h" #undef INCLUDE_LIBRARY_THREADING_FUTURE_WAIT_ALL_INL_H