MADNESS 0.10.1
Classes | Namespaces | Functions

Implements Future and related items. More...

#include <atomic>
#include <vector>
#include <stack>
#include <new>
#include <madness/world/nodefaults.h>
#include <madness/world/dependency_interface.h>
#include <madness/world/stack.h>
#include <madness/world/worldref.h>
#include <madness/world/world.h>
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

struct  madness::archive::ArchiveLoadImpl< Archive, Future< T >, std::enable_if_t<!std::is_void_v< T > > >
 Deserialize a future into an unassigned future. More...
 
struct  madness::archive::ArchiveLoadImpl< Archive, Future< void > >
 Deserialize a future into an unassigned future (void specialization). More...
 
struct  madness::archive::ArchiveLoadImpl< Archive, std::vector< Future< T > > >
 Deserialize a vector of futures into a vector of unassigned futures. More...
 
struct  madness::archive::ArchiveStoreImpl< Archive, Future< T >, std::enable_if_t<!std::is_void_v< T > > >
 Serialize an assigned future. More...
 
struct  madness::archive::ArchiveStoreImpl< Archive, Future< void > >
 Serialize an assigned future (void specialization). More...
 
struct  madness::archive::ArchiveStoreImpl< Archive, std::vector< Future< T > > >
 Serialize a vector of assigned futures. More...
 
class  madness::Future< T >::dddd
 
class  madness::Future< T >
 A future is a possibly yet unevaluated value. More...
 
class  madness::Future< Future< T > >
 A future of a future is forbidden (by deleted constructor). More...
 
class  madness::Future< std::vector< Future< T > > >
 Specialization of Future for a vector of Futures. More...
 
class  madness::Future< void >
 Specialization of Future<void> for internal convenience. This does nothing useful! More...
 
class  madness::FutureImpl< T >
 Implements the functionality of futures. More...
 
class  madness::FutureImpl< void >
 Specialization of FutureImpl<void> for internal convenience. This does nothing useful! More...
 

Namespaces

namespace  madness
 Namespace for all elements and tools of MADNESS.
 
namespace  madness::archive
 Namespace for I/O tools.
 

Functions

template<typename T >
std::vector< Future< T > > madness::future_vector_factory (std::size_t n)
 Factory for a vectors of futures.
 
template<typename T >
std::ostream & madness::operator<< (std::ostream &out, const Future< T > &f)
 Human readable printing of a Future to a stream.
 
template<>
std::ostream & madness::operator<< (std::ostream &out, const Future< void > &f)
 Stream output operator for a void future.
 

Detailed Description

Implements Future and related items.