Portable concurrency  0.11.0
Classes | Functions | Variables
portable_concurrency Namespace Reference

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...
 

Detailed Description

The library public namespace.

This namespace name is long and too verbose. There is an alias namespace pc provided which simplifies this library usage.