|
morph 0.1.0
Asynchronous bridge between GUI thread and business models
|
What drives a model's Task handler: the driver coroutine that starts and finishes it, the per-instance gate that keeps actions from overlapping, and the trait that tells a Task handler from an ordinary one. The resumer its resumptions go through is strand.hpp's. More...
#include <atomic>#include <concepts>#include <core/async/StopToken.hpp>#include <core/async/Task.hpp>#include <coroutine>#include <cstddef>#include <deque>#include <exception>#include <functional>#include <memory>#include <optional>#include <thread>#include <utility>#include "../strand.hpp"Go to the source code of this file.
Classes | |
| struct | morph::model::HandlerResult< T > |
| The result an action handler's return type stands for: R for a core::async::Task<R> handler, the type itself for any other. More... | |
| struct | morph::model::HandlerResult<::core::async::Task< R > > |
| HandlerResult for a Task handler. More... | |
Typedefs | |
| template<typename T> | |
| using | morph::model::HandlerResultT = HandlerResult<T>::type |
The action result a handler returning T produces. | |
Variables | |
| template<typename T> | |
| constexpr bool | morph::model::isTaskHandler = HandlerResult<T>::isTask |
Whether a handler returning T is a Task handler. | |
What drives a model's Task handler: the driver coroutine that starts and finishes it, the per-instance gate that keeps actions from overlapping, and the trait that tells a Task handler from an ordinary one. The resumer its resumptions go through is strand.hpp's.
Specified in docs/spec/core/coroutines.md, "Model side".
Definition in file task_handler.hpp.
| using morph::model::HandlerResultT = HandlerResult<T>::type |
The action result a handler returning T produces.
| T | The handler's return type. |
Definition at line 54 of file task_handler.hpp.
|
inlineconstexpr |
Whether a handler returning T is a Task handler.
| T | The handler's return type. |
Definition at line 59 of file task_handler.hpp.