8template <
typename T,
typename Condition>
12template <
typename T,
typename Condition>
34template <
typename T,
typename C>
39template <
typename T,
typename C>
44template <
typename T,
typename C>
48 for (
typename Observers::Iterator
obs = _observers.begin();
obs != _observers.end(); ++
obs) {
49 if ((*obs)->rank() ==
c) {
58template <
typename T,
typename C>
63 (*obs)->update((*obs)->rank(),
d);
101template <
typename D,
typename C>
105template<
typename D,
typename C>
129template <
typename D,
typename C>
134template <
typename D,
typename C>
139template <
typename D,
typename C>
142 _observers.insert(
o);
146template <
typename D,
typename C>
149 o->_is_detached =
true;
151 _observers.remove(
o);
155template <
typename D,
typename C>
161 if ((*obs)->rank() ==
c) {
162 (*obs)->update(
c,
d);
List< Observer > Observers
Definition observed.h:179
D Observed_Data
Definition observed.h:177
void attach(Observer *o)
Definition observed.h:184
void detach(Observer *o)
Definition observed.h:190
Concurrent_Observer< D, void > Observer
Definition observed.h:178
~Concurrent_Observed()
Definition observed.h:182
bool notify(D *d)
Definition observed.h:196
Concurrent_Observed()
Definition observed.h:181
Definition observed.h:106
void detach(Observer *o, C c)
Definition observed.h:147
virtual bool notify(D *d, C c)
Definition observed.h:156
Concurrent_Observed()
Definition observed.h:130
C Observing_Condition
Definition observed.h:111
Concurrent_Observer< D, C > Observer
Definition observed.h:112
pthread_mutex_t _mtx
Definition observed.h:124
Ordered_List< Observer, C > Observers
Definition observed.h:113
Observers _observers
Definition observed.h:125
void attach(Observer *o, C c)
Definition observed.h:140
D Observed_Data
Definition observed.h:110
~Concurrent_Observed()
Definition observed.h:135
Definition observer.h:134
Observers _observers
Definition observed.h:95
bool notify(T *d)
Definition observed.h:83
Conditionally_Data_Observed()=default
virtual ~Conditionally_Data_Observed()=default
void attach(Observer *o)
Definition observed.h:81
Conditional_Data_Observer< T, void > Observer
Definition observed.h:75
void detach(Observer *o)
Definition observed.h:82
List< Observer > Observers
Definition observed.h:76
T Observed_Data
Definition observed.h:74
Observers _observers
Definition observed.h:30
void detach(Observer *o, Condition c)
Definition observed.h:40
virtual ~Conditionally_Data_Observed()=default
Conditional_Data_Observer< T, Condition > Observer
Definition observed.h:17
void attach(Observer *o, Condition c)
Definition observed.h:35
Condition Observing_Condition
Definition observed.h:16
T Observed_Data
Definition observed.h:15
bool notify(T *d, Condition c)
bool notify(T *d)
Definition observed.h:59
Ordered_List< Observer, Condition > Observers
Definition observed.h:18
Conditionally_Data_Observed()=default
Iterator begin()
Definition list.h:81
void insert(T *item)
Definition list.h:69
Iterator end()
Definition list.h:86
std::list< Observer * >::iterator Iterator
Definition list.h:27
void remove(T *item)
Definition list.h:75
Select_Debug<(Traits< T >::debugged &&Traits< Debug >::error)> db(Debug_Error l)
Definition debug.h:166