Portable concurrency
0.11.0
|
The library public namespace. More...
Classes | |
class | future |
The class template future provides a mechanism to access the result of asynchronous operations. More... | |
struct | inplace_executor_t |
Trivial executor which evaluates task immediattely in the invocation thread. More... | |
struct | is_executor |
Trait which can be specialized for user provided types to enable using them as executors. More... | |
class | latch |
class | promise |
The class template promise is a simpliest write end of a future. More... | |
class | shared_future |
The class template shared_future provides a mechanism to access the result of asynchronous operations. More... | |
class | timed_waiter |
Class to wait on future or shared_future with timeout. More... | |
class | unique_function< R(A...)> |
Move-only type erasure for arbitrary callable object. More... | |
struct | when_any_result |
Functions | |
template<typename E , typename F , typename... A> | |
future< std::result_of_t< F(A...)> > | async (E &&exec, F &&func, A &&... a) |
Executor aware analog of the std::async . More... | |
template<typename... Futures> | |
future< std::tuple< Futures... > > | when_all (Futures &&...) |
template<typename InputIt > | |
future< std::vector< typename std::iterator_traits< InputIt >::value_type > > | when_all (InputIt first, InputIt last) |
template<typename Future , typename Alloc > | |
future< std::vector< Future, Alloc > > | when_all (std::vector< Future, Alloc > futures) |
template<typename... Futures> | |
future< when_any_result< std::tuple< Futures... > > > | when_any (Futures &&...) |
template<typename InputIt > | |
future< when_any_result< std::vector< typename std::iterator_traits< InputIt >::value_type > > > | when_any (InputIt first, InputIt last) |
template<typename InputIt > | |
auto | when_any (InputIt first, InputIt last) -> std::enable_if_t< detail::is_shared_future< typename std::iterator_traits< InputIt >::value_type >::value, future< when_any_result< std::vector< typename std::iterator_traits< InputIt >::value_type >>>> |
template<typename Future , typename Alloc > | |
future< when_any_result< std::vector< Future, Alloc > > > | when_any (std::vector< Future, Alloc > futures) |
Variables | |
constexpr future_get_t | future_get {} |
Unary operation which takes a future and returns value stored inside it. More... | |
constexpr future_ready_t | future_ready {} |
Unary predicate which takes a future and returns if this future is ready. More... | |
constexpr inplace_executor_t | inplace_executor |
Global instance of trivial inplace executor type. More... | |
The library public namespace.
This namespace name is long and too verbose. There is an alias namespace pc provided which simplifies this library usage.