D++ (DPP)
C++ Discord API Bot Library
dpp::detail::async::callback< R > Struct Template Reference

Shared state of the async and its callback, to be used across threads. More...

#include <async.h>

+ Collaboration diagram for dpp::detail::async::callback< R >:

Public Member Functions

template<typename U = R>
requires (std::convertible_to<const U&, R>)
void operator() (const U &v) const
 Call operator, sets the value in the promise and notifies any awaiter. More...
 
template<typename U = R>
requires (std::convertible_to<U&&, R>)
void operator() (U &&v) const
 Call operator, sets the value in the promise and notifies any awaiter. More...
 
void operator() () const
 Call operator, sets the value in the promise and notifies any awaiter. More...
 

Public Attributes

std::shared_ptr< basic_promise< R > > promise {nullptr}
 Promise object to set the result into. More...
 

Detailed Description

template<typename R>
struct dpp::detail::async::callback< R >

Shared state of the async and its callback, to be used across threads.

Member Function Documentation

◆ operator()() [1/3]

template<typename R >
void dpp::detail::async::callback< R >::operator() ( ) const
inline

Call operator, sets the value in the promise and notifies any awaiter.

◆ operator()() [2/3]

template<typename R >
template<typename U = R>
requires (std::convertible_to<const U&, R>)
void dpp::detail::async::callback< R >::operator() ( const U &  v) const
inline

Call operator, sets the value in the promise and notifies any awaiter.

Parameters
vCallback value

◆ operator()() [3/3]

template<typename R >
template<typename U = R>
requires (std::convertible_to<U&&, R>)
void dpp::detail::async::callback< R >::operator() ( U &&  v) const
inline

Call operator, sets the value in the promise and notifies any awaiter.

Parameters
vCallback value

Member Data Documentation

◆ promise

template<typename R >
std::shared_ptr<basic_promise<R> > dpp::detail::async::callback< R >::promise {nullptr}

Promise object to set the result into.

D++ Library version 10.0.34D++ Library version 10.0.33D++ Library version 10.0.32D++ Library version 10.0.31D++ Library version 10.0.30D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0