detail namespace
Classes
-
template <typename T>class bound_publisher
-
template <typename T>class event_queue
- Small cancellable async event queue.
-
template <typename T>struct next_awaiter
- Awaitable returned by
signal::.next() -
template <typename T>class publisher
-
template <typename T>class signal
-
template <typename T>struct signal_state
Functions
-
template <typename T>auto cancel_pending(signal_
state<T>& s, std:: optional<T>* result) → bool -
template <typename T>void clear_pending(signal_
state<T>& s, std:: optional<T>* result) -
template <typename T>auto deliver_to_pending(signal_
state<T>& s, std:: optional<T> value) → bool -
template <typename... Awaitables>auto select_when_any(std::
stop_source stop_source, Awaitables && ... aws) → auto -
template <typename... Awaitables>auto select_when_any(Awaitables && ... aws) → auto
Function documentation
#include <nxt/signal.hpp>
template <typename T>
bool nxt:: detail:: cancel_pending(signal_ state<T>& s,
std:: optional<T>* result)
#include <nxt/signal.hpp>
template <typename T>
void nxt:: detail:: clear_pending(signal_ state<T>& s,
std:: optional<T>* result)
#include <nxt/signal.hpp>
template <typename T>
bool nxt:: detail:: deliver_to_pending(signal_ state<T>& s,
std:: optional<T> value)
Wake the current waiter (if any) with value. Returns true if a waiter was woken.
#include <nxt/signal.hpp>
template <typename... Awaitables>
auto nxt:: detail:: select_when_any(std:: stop_source stop_source,
Awaitables && ... aws)
Race awaitables, requesting stop_source once the first completes. Awaitables must observe the corresponding stop token themselves.
#include <nxt/signal.hpp>
template <typename... Awaitables>
auto nxt:: detail:: select_when_any(Awaitables && ... aws)
Race awaitables — return the result of whichever finishes first as a std::. void-returning awaitables become std:: alternatives.