async.hpp file
Namespaces
- namespace nxt
Classes
-
template <typename T>struct nxt::source_value<signal<T>>
-
template <typename T>struct nxt::source_value<channel<T>>
-
template <typename T, typename Pull>class nxt::pull_source
-
template <typename T, typename Pull>struct nxt::source_value<pull_source<T, Pull>>
Typedefs
-
template <typename T>using channel = nxt::
detail:: event_queue<T> - Buffered async stream of values.
-
template <typename T>using source_value_t = typename source_value<std::
remove_cvref_t<T>>::type
Functions
-
template <scoped Scope, typename... Awaitables>auto all(Scope& s, Awaitables && ... awaitables) → auto
-
template <scoped Scope, typename... Awaitables>auto any(Scope& s, Awaitables && ... awaitables) → auto
-
template <scoped Scope>void cancel(Scope& s)
-
template <typename T>auto cancel(channel<T>& ch) → task<void>
-
template <typename T>auto close(channel<T>& ch) → task<void>
-
template <typename T>void close(signal<T>& sig)
-
template <typename T, typename Pull>auto make_source(Pull&& pull) → auto
-
template <typename T>auto next(const signal<T>& sig) → auto
-
template <typename T>auto next(const signal<T>& sig, std::
stop_token stop) → auto -
template <typename T>auto next(channel<T>& ch, std::
stop_token = {}) → task<std:: optional<T>> -
template <typename T, typename Pull>auto next(pull_source<T, Pull>& src, std::
stop_token stop = {}) → task<std:: optional<T>> -
template <typename T>auto publish(const publisher<T>& pub, T value) → task<void>
-
template <typename T>auto publish(const bound_publisher<T>& pub) → task<void>
-
template <typename T>auto publish(channel<T>& ch, T value) → task<bool>
-
template <typename T>auto publisher_for(const signal<T>& sig) → auto
-
template <typename T>auto publisher_for(const signal<T>& sig, T value) → auto
-
template <scoped Scope>auto scheduler_of(Scope& s) → auto&
-
template <scoped Scope, typename... Sources>auto select(Scope& scope, Sources&... sources) → task<std::
variant<std:: optional<source_value_t<Sources>>...>> -
template <scoped Scope>void spawn(Scope& s, task<> t)
-
template <scoped Scope>auto stop_token(Scope& s) → auto
-
template <scoped Scope>auto subscope(Scope& s) → auto
-
template <scoped Scope, typename Context>auto subscope(Scope& s, Context context) → auto