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