#pragma once struct ResourceBinding_t { void* pData; }; template class CStrongHandle { public: operator T* () const { if (pBinding == nullptr) return nullptr; return static_cast(pBinding->pData); } T* operator->() const { if (pBinding == nullptr) return nullptr; return static_cast(pBinding->pData); } const ResourceBinding_t* pBinding; };