namespace EE::detail

Overview

namespace detail {

// typedefs

typedef typename ContinuationInvokeResult<T, F>::Type ContinuationResult;
typedef typename UnwrapTask<ContinuationResult<T, F>>::Type ContinuationValue;

// structs

template <typename T, typename F>
struct ContinuationInvokeResult;

template <typename F>
struct ContinuationInvokeResult<void, F>;

template <typename T>
struct IsTask;

template <typename T>
struct IsTask<Task<T>>;

struct TaskAccess;
struct TaskVoidValue;

template <typename T>
struct UnwrapTask;

template <typename T>
struct UnwrapTask<Task<T>>;

// classes

class CancellationState;

template <typename T>
class TaskSharedState;

template <typename T>
class TaskStateRef;

} // namespace detail

Detailed Documentation

Typedefs

typedef typename UnwrapTask<ContinuationResult<T, F>>::Type ContinuationValue

Value type produced by a continuation F attached to a Task<T>; nested tasks are flattened.