watcher.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // watcher.h
  2. // 
  3. // Copyright (C) 2002, Chris Laurel <claurel@shatters.net>
  4. //
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the GNU General Public License
  7. // as published by the Free Software Foundation; either version 2
  8. // of the License, or (at your option) any later version.
  9. #ifndef _CELUTIL_WATCHER_H_
  10. #define _CELUTIL_WATCHER_H_
  11. template<class T> class Watcher
  12. {
  13.  private:
  14.     T& watched;
  15.  public:
  16.     Watcher(T& _watched) : watched(_watched)
  17.     {
  18.         watched.addWatcher(this);
  19.     };
  20.     virtual ~Watcher()
  21.     {
  22.         watched.removeWatcher(this);
  23.     }
  24.     virtual void notifyChange(T*, int) = 0;
  25. };
  26. #endif // _CELUTIL_WATCHER_H_