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

Type-erased Property surface. More...

#include <i_property.hpp>

Inheritance diagram for aria::IProperty:
[legend]

Public Member Functions

virtual ~IProperty () noexcept=default
virtual std::any get_any () const =0
 Read the current value as a std::any.
virtual bool set_any (const std::any &value)=0
 Try to set the property's value from a std::any.
virtual Subscription subscribe_any (std::function< void(const std::any &)> on_changed)=0
 Subscribe to value changes.
virtual const std::type_info & type () const noexcept=0
 The runtime type of the wrapped value.

Protected Member Functions

 IProperty () noexcept=default
 IProperty (const IProperty &)=delete
IPropertyoperator= (const IProperty &)=delete
 IProperty (IProperty &&)=delete
IPropertyoperator= (IProperty &&)=delete

Detailed Description

Type-erased Property surface.

Stable, non-template, suitable for crossing a shared-library boundary.

Implementations:

  • aria::Property<T> — the canonical implementation.
  • Test doubles can implement this directly to drive binding-engine code without instantiating a real Property.

Constructor & Destructor Documentation

◆ ~IProperty()

virtual aria::IProperty::~IProperty ( )
virtualdefaultnoexcept

◆ IProperty() [1/3]

aria::IProperty::IProperty ( )
protecteddefaultnoexcept

◆ IProperty() [2/3]

aria::IProperty::IProperty ( const IProperty & )
protecteddelete

◆ IProperty() [3/3]

aria::IProperty::IProperty ( IProperty && )
protecteddelete

Member Function Documentation

◆ get_any()

◆ set_any()

◆ subscribe_any()

◆ type()

◆ operator=() [1/2]

IProperty & aria::IProperty::operator= ( const IProperty & )
protecteddelete

◆ operator=() [2/2]

IProperty & aria::IProperty::operator= ( IProperty && )
protecteddelete

The documentation for this class was generated from the following file: