|
Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
|
#include "aria/reactive/node.hpp"#include "aria/callback_boundary.hpp"#include <algorithm>#include <cassert>#include <exception>#include <functional>#include <stdexcept>#include <string>#include <string_view>#include <thread>#include <unordered_set>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| class | aria::reactive::CircularDependencyError |
| Thrown when flush detects a dependency cycle. More... | |
| struct | aria::reactive::ReadRecord |
| One "upstream read" record. More... | |
| class | aria::reactive::TrackingContext |
| Per-recompute tracking context for a single Derivation evaluation. More... | |
| class | aria::reactive::Graph |
| Process-wide singleton reactive graph (accessed via Node::graph()). More... | |
| class | aria::reactive::TrackerScope |
| RAII: push a tracker on construction, pop on destruction. More... | |
| class | aria::reactive::UntrackedScope |
| RAII: within the scope, every dep() behaves like a plain get(). More... | |
| class | aria::reactive::BatchScope |
| RAII batch guard: { BatchScope b; ...; } or use batch([&]{...}). More... | |
Namespaces | |
| namespace | aria |
| namespace | aria::reactive |
Typedefs | |
| using | aria::reactive::FlushTraceFn |
Functions | |
| std::shared_ptr< FlushTraceFn > & | aria::reactive::flush_trace_hook_ () noexcept |
| TrackingContext * | aria::reactive::current_tracker () noexcept |
| Returns the current tracker of the global graph. | |
| template<class Fn> | |
| auto | aria::reactive::untracked (Fn &&fn) -> decltype(fn()) |
| Sugar: untracked([&]{ ... }). | |
| template<class Fn> | |
| auto | aria::reactive::batch (Fn &&fn) -> decltype(fn()) |
| Sugar: batch([&]{ firstName = "..."; lastName = "..."; }). | |