C/C++ API Reference
Loading...
Searching...
No Matches
pw::async2::CustomFutureList< kGetFutureImpl, kGetFutureCore > Class Template Reference

Overview

template<auto kGetFutureImpl, auto kGetFutureCore>
class pw::async2::CustomFutureList< kGetFutureImpl, kGetFutureCore >

List of futures of a custom future type. This is a minimal extension to BaseFutureList.

Template Parameters
kGetFutureImpla function that converts a FutureCore& to its corresponding future type
kGetFutureCorea function that converts a future reference to its corresponding FutureCore.
Inheritance diagram for pw::async2::CustomFutureList< kGetFutureImpl, kGetFutureCore >:
pw::async2::BaseFutureList

Public Types

using value_type = std::remove_reference_t< decltype(*kGetFutureImpl(std::declval< FutureCore * >()))>
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

void Push (FutureCore &future)
 
void Push (reference future)
 
void PushRequireEmpty (FutureCore &future)
 
void PushRequireEmpty (reference future)
 
bool PushIfEmpty (FutureCore &future)
 
bool PushIfEmpty (reference future)
 
pointer PopIfAvailable ()
 
reference Pop ()
 
template<typename Resolver >
void ResolveAllWith (Resolver &&resolver)
 
template<typename Resolver >
void ResolveOneWith (Resolver &&resolver)
 
- Public Member Functions inherited from pw::async2::BaseFutureList
bool empty () const
 
void Push (FutureCore &future)
 
void PushRequireEmpty (FutureCore &future)
 
bool PushIfEmpty (FutureCore &future)
 
FutureCorePopIfAvailable ()
 
FutureCorePop ()
 
void ResolveOne ()
 
void ResolveOneIfAvailable ()
 
void ResolveAll ()
 Pops all futures and calls WakeAndMarkReady() on them.
 

Additional Inherited Members

- Protected Member Functions inherited from pw::async2::BaseFutureList
IntrusiveForwardList< FutureCore > & list ()
 

The documentation for this class was generated from the following file: