31#ifndef ETL_DELEGATE_OBSERVER_INCLUDED
32#define ETL_DELEGATE_OBSERVER_INCLUDED
78 template <
typename TNotification, const
size_t MAX_OBSERVERS>
105 struct compare_observers
112 bool operator ()(
const observer_item&
item)
const
120 typedef etl::vector<observer_item, MAX_OBSERVERS> Observer_List;
124 typedef size_t size_type;
145 observer_list.push_back(observer_item(
observer));
209 observer_list.clear();
217 return observer_list.size();
227 typename Observer_List::iterator
i_observer_item = observer_list.begin();
252 typename Observer_List::iterator find_observer(observer_type&
observer_)
254 return etl::find_if(observer_list.begin(), observer_list.end(), compare_observers(
observer_));
258 Observer_List observer_list;
Declaration.
Definition delegate_cpp03.h:191
Definition exception.h:47
void add_observer(observer_type &observer)
Definition delegate_observer.h:133
void notify_observers(TNotification n)
Definition delegate_observer.h:225
void enable_observer(observer_type &observer, bool state=true)
Definition delegate_observer.h:177
void clear_observers()
Clear all observers from the list.
Definition delegate_observer.h:207
bool remove_observer(observer_type &observer)
Definition delegate_observer.h:154
void disable_observer(observer_type &observer)
Disable an observer.
Definition delegate_observer.h:192
size_type number_of_observers() const
Returns the number of observers.
Definition delegate_observer.h:215
Definition delegate_observer.h:80
Definition delegate_observer.h:50
Definition delegate_observer.h:64
Definition observer.h:100
Definition observer.h:364
bitset_ext
Definition absolute.h:38
ETL_NODISCARD ETL_CONSTEXPR14 T round_half_even_unscaled(T value) ETL_NOEXCEPT
Definition scaled_rounding.h:314