31#ifndef ETL_DELEGATE_OBSERVABLE_INCLUDED
32#define ETL_DELEGATE_OBSERVABLE_INCLUDED
46 template <
typename TNotification,
size_t Max_Observers>
120 if (!delegate_list[i].is_valid())
144 delegate_list[i].clear();
160 delegate_list[i].clear();
171 return delegate_count;
181 if (delegate_count != 0)
185 delegate_list[i].call_if(
n);
193 DelegateList delegate_list;
196 size_t delegate_count;
Declaration.
Definition delegate_cpp03.h:191
ETL_CONSTEXPR14 void clear_observers()
Clear all observers.
Definition delegate_observable.h:156
TNotification notification_type
The type of the notification.
Definition delegate_observable.h:64
etl::delegate< void(TNotification)> delegate_type
The type of the observers.
Definition delegate_observable.h:52
ETL_CONSTEXPR14 delegate_observable()
Default constructor.
Definition delegate_observable.h:69
ETL_CONSTEXPR14 bool remove_observer(const delegate_type &observer)
Definition delegate_observable.h:137
ETL_CONSTEXPR14 void notify_observers(notification_type n) const
Definition delegate_observable.h:179
ETL_CONSTEXPR14 bool add_observer(delegate_type observer)
Definition delegate_observable.h:106
ETL_CONSTEXPR14 size_type number_of_observers() const
Returns the number of observers.
Definition delegate_observable.h:169
size_t size_type
The type for sizes.
Definition delegate_observable.h:61
Definition delegate_observable.h:48
Definition observer.h:363
bitset_ext
Definition absolute.h:39
ETL_NODISCARD ETL_CONSTEXPR14 T round_half_even_unscaled(T value) ETL_NOEXCEPT
Definition scaled_rounding.h:315