Pyrogenesis trunk
Classes | Namespaces | Typedefs | Enumerations
Future.h File Reference
#include "ps/FutureForward.h"
#include <atomic>
#include <condition_variable>
#include <functional>
#include <mutex>
#include <optional>
#include <type_traits>
Include dependency graph for Future.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FutureSharedStateDetail::Receiver< ResultType >
 Responsible for syncronization between the task and the receiving thread. More...
 
struct  FutureSharedStateDetail::SharedState< Callback >
 The shared state between futures and packaged state. More...
 
class  Future< ResultType >
 Corresponds to std::future. More...
 
class  PackagedTask< Callback >
 Corresponds somewhat to std::packaged_task. More...
 

Namespaces

namespace  FutureSharedStateDetail
 

Typedefs

template<typename T >
using FutureSharedStateDetail::ResultHolder = std::conditional_t< std::is_void_v< T >, std::nullopt_t, std::optional< T > >
 

Enumerations

enum class  FutureSharedStateDetail::Status { FutureSharedStateDetail::PENDING , FutureSharedStateDetail::STARTED , FutureSharedStateDetail::DONE , FutureSharedStateDetail::CANCELED }