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

Go to the source code of this file.

Namespaces

namespace  aria

Concepts

concept  aria::EqualityComparable
 Type that supports == and != (required for change detection).
concept  aria::InvocableR
 Anything that can be invoked with Args... and returns convertible-to-Ret.
concept  aria::Observable
 A read-only observable: has .get() and exposes its value_type.
concept  aria::PropertyValue
 Type usable as a Property value:
concept  aria::ReadOnlyReactive
 A reactive cell that can be read and observed, but not written: exactly the surface a one-way (VM→View) binding needs.
concept  aria::ReadOnlyReactiveOf
 ReadOnlyReactive pinned to a specific value type — the constraint for the typed scalar binders (bind_text_oneway wants value_type to be exactly std::string, bind_visible wants bool, ...).
concept  aria::ReadOnlyReactiveOptional
 A ReadOnlyReactive whose value_type is some std::optional<U> — the shape of AsyncCommand::last_result, and the constraint for BindingEngine::bind_optional_text.