X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgame%2Fhandle.h;h=2e544c7238e75ca7d5418c9f5c7a05c65e61081e;hb=5ef7c7a9e1e6681ce43fae217e0c3a1b846e6874;hp=d384f35c3c1fae6f29b1871a4c955079078d3e75;hpb=9248910baf5bab301c7329182b143870321a95f0;p=libs%2Fgame.git diff --git a/source/game/handle.h b/source/game/handle.h index d384f35..2e544c7 100644 --- a/source/game/handle.h +++ b/source/game/handle.h @@ -23,13 +23,14 @@ protected: public: Handle() = default; - - static Handle from_object(T *o) { Handle h; h.ptr = o; return h; } + Handle(nullptr_t) { } template requires std::is_base_of_v Handle(const Handle &other): ptr(other.ptr) { } + static Handle from_object(T *o) { Handle h; h.ptr = o; return h; } + T *get() const { return ptr; } T &operator*() const { return *ptr; } T *operator->() const { return ptr; }