21 #ifndef GRT_OBSERVER_MANAGER_HEADER
22 #define GRT_OBSERVER_MANAGER_HEADER
32 template <
class NotifyType>
47 for(
size_t i=0; i<rhs.observers.size(); i++){
48 observers.push_back( rhs.observers[i] );
57 const size_t numObservers = observers.size();
58 for(
size_t i=0; i<numObservers; i++){
60 if( ptr == &newObserver ){
66 observers.push_back( &newObserver );
73 const size_t numObservers = observers.size();
74 for(
size_t i=0; i<numObservers; i++){
76 if( ptr == &oldObserver ){
77 observers.erase( observers.begin() + i );
84 bool removeAllObservers(){
89 bool notifyObservers(
const NotifyType &data){
92 const size_t numObservers = observers.size();
93 for(
size_t i=0; i<numObservers; i++){
104 std::vector< Observer<NotifyType>* > observers;