Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. template<typename OBJ, typename MFP, typename RET>
  2. class StateCallback
  3. {
  4. private:
  5. MFP memberFun;
  6. OBJ object;
  7. RET ret;
  8. StateCallback() { }
  9.  
  10. public:
  11. StateCallback(OBJ object, MFP memberFun) : object(object), memberFun(memberFun), ret(ret) { }
  12. RET operator ()() { return ((object)->*(memberFun))(); }
  13. };
  14.  
  15. //Usage example
  16. StateCallback<CGameManager*, StateMemFunPtr, bool> game(this, &CGameManager::RunGame);
  17. states.push(game);
  18.  
  19. while(states.size())
  20. {
  21. StateCallback<CGameManager*, StateMemFunPtr, bool> a = states.top();
  22. a();
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement