|
Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
|
Namespaces | |
| namespace | converters |
| namespace | testing |
Classes | |
| class | BindingEngine |
| BindingEngine: connects ViewModel properties to platform views via an adapter. More... | |
| class | ConversionError |
| Thrown by built-in Converter::to_model when the user-provided string cannot be parsed into the target Model type. More... | |
| struct | Converter |
| Bidirectional converter between Model type T and View type U. More... | |
| class | FormField |
| class | FormGroup |
| class | FormValidator |
| class | IView |
| Abstract platform widget reference. More... | |
| class | IViewAdapter |
| Abstract platform adapter — knows how to read/write/observe widgets. More... | |
| class | Navigator |
| struct | RouteOptions |
| Routing options for Navigator::route(...). More... | |
| class | ViewAdapterBase |
| Base class defaulting every IViewAdapter operation to the compliant "unsupported" behaviour required by contract L-39: report through the diagnostics boundary, then return a safe default (no-op setter, zeroed getter, empty Subscription). More... | |
| class | ViewModel |
| Base class for view models. More... | |
| class | ViewModelScope |
Typedefs | |
| using | IViewModel = ViewModel |
| IViewModel is an alias for ViewModel, provided for users coming from WPF / Avalonia / MAUI where the IViewModel spelling is canonical. | |
Enumerations | |
| enum class | Presentation : unsigned char { Push = 0 , Modal = 1 } |
| How a navigation entry is presented to the user. More... | |
| using aria::binding::IViewModel = ViewModel |
IViewModel is an alias for ViewModel, provided for users coming from WPF / Avalonia / MAUI where the IViewModel spelling is canonical.
Note that despite the I prefix this is NOT a pure virtual interface — ViewModel is a concrete base class with state (is_active, subscription bag, child list, destroy hooks) and default implementations for on_activate / on_deactivate. The IView / IViewAdapter types in this library really are pure interfaces and keep the I prefix; ViewModel does not, because hiding its stateful nature behind an I would be misleading. This alias exists purely to match external naming conventions without forcing the rename on internals.
|
strong |
How a navigation entry is presented to the user.
Push slides onto the back-stack; Modal overlays without disturbing the previous active page (the modal's parent stays "current" from current Property's perspective in some adapter conventions, but Navigator picks the topmost entry as current regardless – the adapter is responsible for rendering the modal as an overlay).
| Enumerator | |
|---|---|
| Push | |
| Modal | |