#ifndef SUBJECT_H_
#define SUBJECT_H_

#include "Observer.h"
#include <vector>

class Subject {
public:
  void Register(Observer& o) 
    { itsObservers.push_back(&o); }
  void Notify() {
    for ( int i = 0; i < itsObservers.size(); ++i ) {
      itsObservers[i]->Update();
    }
  }
private:
  std::vector<Observer*> itsObservers;
};

#endif

