summaryrefslogtreecommitdiff
path: root/base/callback.hh
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-10-17 22:32:17 -0500
committerAli Saidi <saidi@eecs.umich.edu>2004-10-17 22:32:17 -0500
commitb5a71e5e52b9af9f62ee9eea3701576628bca5f5 (patch)
tree2ba0ea14214e174a65a79120a85763c33e3ea752 /base/callback.hh
parentd25716935800d20b124b1e90a44639f321dfb733 (diff)
parent3ef950abba818e0f6b0fa4c8acc39cfb6ae11a28 (diff)
downloadgem5-b5a71e5e52b9af9f62ee9eea3701576628bca5f5.tar.xz
Merge saidi@zizzer.eecs.umich.edu:/bk/m5
into ali-saidis-computer.local:/research/m5 --HG-- extra : convert_revision : 0b97ac6ae704e47023bb9db9694004022c548b4f
Diffstat (limited to 'base/callback.hh')
-rw-r--r--base/callback.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/base/callback.hh b/base/callback.hh
index eee629cf5..342ab7e0f 100644
--- a/base/callback.hh
+++ b/base/callback.hh
@@ -103,4 +103,17 @@ class CallbackQueue
}
};
+template <class T, void (T::* F)()>
+class MakeCallback : public Callback
+{
+ private:
+ T *object;
+
+ public:
+ MakeCallback(T *o)
+ : object(o)
+ { }
+ void process() { (object->*F)(); }
+};
+
#endif // __CALLBACK_HH__