Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
graph.hpp File Reference
#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>
Include dependency graph for graph.hpp:
This graph shows which files directly or indirectly include this file:

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
TrackingContextaria::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 = "..."; }).