FastLED 3.9.15
Loading...
Searching...
No Matches
fl::promise< T > Class Template Reference

Detailed Description

template<typename T>
class fl::promise< T >

Promise class that provides fluent .then() and .catch_() semantics This is a lightweight wrapper around a shared PromiseImpl for easy copying/sharing.

Definition at line 72 of file promise.h.

#include <promise.h>

+ Collaboration diagram for fl::promise< T >:

Public Member Functions

 promise ()
 Default constructor - creates invalid promise.
 
 promise (const promise &other)=default
 Copy constructor (promises are now copyable via shared implementation)
 
 promise (promise &&other) noexcept=default
 Move constructor.
 
promisecatch_ (fl::function< void(const Error &)> callback)
 Register error callback - returns reference for chaining.
 
void clear ()
 Clear promise to invalid state.
 
bool complete_with_error (const Error &error)
 Complete the promise with an error (used by networking library)
 
bool complete_with_error (const fl::string &error_message)
 
bool complete_with_value (const T &value)
 Complete the promise with a result (used by networking library)
 
bool complete_with_value (T &&value)
 
const Errorerror () const
 Get the error (only valid if is_rejected() returns true)
 
bool is_completed () const
 Check if promise is completed (resolved or rejected)
 
bool is_rejected () const
 Check if promise is rejected (completed with error)
 
bool is_resolved () const
 Check if promise is resolved (completed successfully)
 
promiseoperator= (const promise &other)=default
 Copy assignment operator.
 
promiseoperator= (promise &&other) noexcept=default
 Move assignment operator.
 
promisethen (fl::function< void(const T &)> callback)
 Register success callback - returns reference for chaining.
 
void update ()
 Update promise state in main loop - should be called periodically This processes pending callbacks when the promise completes.
 
bool valid () const
 Check if promise is valid.
 
const T & value () const
 Get the result value (only valid if is_resolved() returns true)
 

Static Public Member Functions

static promise< T > create ()
 Create a pending promise.
 
static promise< T > reject (const Error &error)
 Create a rejected promise with error.
 
static promise< T > reject (const fl::string &error_message)
 Create a rejected promise with error message.
 
static promise< T > resolve (const T &value)
 Create a resolved promise with value.
 
static promise< T > resolve (T &&value)
 Create a resolved promise with value (move version)
 

Private Member Functions

 promise (fl::shared_ptr< detail::PromiseImpl< T > > impl)
 Constructor from shared implementation (used internally)
 

Private Attributes

fl::shared_ptr< detail::PromiseImpl< T > > mImpl
 Shared pointer to implementation - this allows copying and sharing promise state.
 

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