Advertisement
onilink_

lua_EntitySmartPtr

Apr 19th, 2021 (edited)
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.37 KB | None | 0 0
  1. struct lua_EntitySmartPtr
  2. {
  3.     std::weak_ptr<TangibleEntity> weak;
  4.     std::shared_ptr<TangibleEntity> shared;
  5.    
  6.     bool expired() const { return weak.expired(); }
  7.    
  8.     bool lock() {
  9.         shared = weak.lock();
  10.         return shared != nullptr;
  11.     }
  12.     void unlock() {
  13.         shared = {};
  14.     }
  15.     TangibleEntity* ptr() { return shared.get(); }
  16. };
  17.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement