|
| template<forward_of< std::shared_ptr< hi::observed_base > > Observed> |
| | observer (Observed &&observed_base) noexcept |
| | Create an observer from an observed_base.
|
| constexpr | observer () noexcept |
| | Create a observer linked to an anonymous default initialized observed_base-value.
|
| template<std::convertible_to< value_type > Value> |
| constexpr | observer (Value &&value) noexcept |
| | Create a observer linked to an anonymous observed_base-value.
|
| constexpr | observer (observer const &other) noexcept |
| | Copy construct.
|
| constexpr | observer (observer &&other) noexcept |
| | Move construct.
|
| constexpr observer & | operator= (observer const &other) noexcept |
| | Copy assign.
|
| constexpr observer & | operator= (observer &&other) noexcept |
| | Move assign.
|
| void | reset () noexcept |
| | Reset the observer.
|
| const_pointer | get () const noexcept |
| | Read the observed_base value.
|
| pointer | get () noexcept |
| | Make a copy of the observed_base value for modification.
|
| template<forward_of< void(value_type)> Func> |
| callback< void(value_type)> | subscribe (Func &&func, callback_flags flags=callback_flags::synchronous) noexcept |
| | Subscribe a callback to this observer.
|
|
awaiter_type | operator co_await () const noexcept |
| auto | sub (auto const &index) const noexcept |
| | Create a sub-observer by indexing into the value.
|
| template<fixed_string Name> |
| auto | sub () const noexcept |
| | Create a sub-observer by selecting a member-variable of the value.
|
template<typename Rhs>
requires requires (value_type &a, Rhs &&b) { a = std::forward<Rhs>(b); } |
| observer & | operator= (Rhs &&rhs) noexcept |
| | Assign a new value to the observed_base value.
|
| const_reference | operator* () const noexcept |
| | Get the value being observed_base.
|
|
const_pointer | operator& () const noexcept |
| const_pointer | operator-> () const noexcept |
| | Constant pointer-to-member of the value being observed_base.
|
| pointer | operator-> () noexcept |
| | Constant pointer-to-member of the value being observed_base.
|
|
| X (++) X(--) X(++) X(--) X(+ |
| template<forward_of< observed_type > ObservedBase, forward_of< path_type > Path, forward_of< void *(void *)> Converter> |
| | observer (ObservedBase &&observed_base, Path &&path, Converter &&converter) noexcept |
| | Construct an observer from an observed_base.
|
|
void | notify () const noexcept |
|
value_type * | convert (void *base) const noexcept |
|
value_type const * | convert (void const *base) const noexcept |
|
void | update_state_callback () noexcept |
template<typename T>
class hi::v1::observer< T >
A observer pointing to the whole or part of a observed_base.
A observer will point to a observed_base that was created, or possibly an anonymous observed_base, which is created when a observer is created as empty.
- Template Parameters
-