Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
aria::binding Namespace Reference

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...

Typedef Documentation

◆ IViewModel

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.

Enumeration Type Documentation

◆ Presentation

enum class aria::binding::Presentation : unsigned char
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