ORIGINAL
Loading...
Searching...
No Matches
Public Member Functions | List of all members
original::async::futureBase Class Referenceabstract

Abstract base interface for asynchronous consumers. More...

#include <async.h>

Inheritance diagram for original::async::futureBase:
Inheritance graph
Collaboration diagram for original::async::futureBase:
Collaboration graph

Public Member Functions

virtual bool valid () const noexcept=0
 Checks if the future is valid (has an associated async wrapper)
 
virtual void wait () const =0
 Waits until the result becomes ready.
 
virtual bool waitFor (time::duration timeout) const =0
 Waits for the result with a timeout.
 
virtual std::exception_ptr exception () const noexcept=0
 Gets the stored exception if computation failed.
 
virtual bool ready () const =0
 Checks if the result is ready.
 

Detailed Description

Abstract base interface for asynchronous consumers.

Provides a common, type-erased interface for accessing asynchronous results, regardless of their actual type or ownership semantics.

Key methods include:

Member Function Documentation

◆ exception()

virtual std::exception_ptr original::async::futureBase::exception ( ) const
pure virtualnoexcept

Gets the stored exception if computation failed.

Returns
Exception pointer (nullptr if no exception)

Implemented in original::async::future< TYPE >, original::async::sharedFuture< TYPE >, original::async::future< void >, and original::async::sharedFuture< void >.

◆ ready()

virtual bool original::async::futureBase::ready ( ) const
pure virtual

Checks if the result is ready.

Returns
True if result is available

Implemented in original::async::future< TYPE >, original::async::sharedFuture< TYPE >, original::async::future< void >, and original::async::sharedFuture< void >.

◆ valid()

virtual bool original::async::futureBase::valid ( ) const
pure virtualnoexcept

Checks if the future is valid (has an associated async wrapper)

Returns
True if valid, false otherwise

Implemented in original::async::future< TYPE >, original::async::sharedFuture< TYPE >, original::async::future< void >, and original::async::sharedFuture< void >.

◆ wait()

virtual void original::async::futureBase::wait ( ) const
pure virtual

◆ waitFor()

virtual bool original::async::futureBase::waitFor ( time::duration  timeout) const
pure virtual

Waits for the result with a timeout.

Parameters
timeoutMaximum time to wait
Returns
True if result is ready within timeout, false otherwise

Implemented in original::async::future< TYPE >, original::async::sharedFuture< TYPE >, original::async::future< void >, and original::async::sharedFuture< void >.


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