Guest User

Handle

a guest
Dec 30th, 2013
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. #ifndef STORM_3D__HANDLE
  2. #define STORM_3D__HANDLE
  3.  
  4. #include <vector>
  5.  
  6. template <typename Resource, typename Manager>
  7. class Handle
  8. {
  9. public:
  10. Handle(Manager* owner, int id): m_id(id), m_owner(owner)
  11. {
  12. }
  13.  
  14. Handle(): m_id(-1), m_owner(nullptr)
  15. {
  16.  
  17. }
  18.  
  19. // ~ResourceHandle() = default;
  20. Resource* operator -> ()
  21. {
  22. return m_owner->GetResource( m_id );
  23. }
  24.  
  25. bool IsValid(){ return (m_id >= 0); }
  26. Resource* Get(){ return m_owner->GetResource( m_id ); }
  27.  
  28. private:
  29. int m_id;
  30. Manager* m_owner;
  31.  
  32. };
  33.  
  34. #endif
Advertisement
Add Comment
Please, Sign In to add comment