15 this->resource = resourcePointer.resource;
18 this->resource->AddRef();
24 this->resource = resourcePointer.resource;
25 resourcePointer.resource =
nullptr;
32 T * t = this->resource;
35 this->resource =
nullptr;
37 UnregisterGPUResource(t);
46 this->resource = resourcePointer.resource;
49 this->resource->AddRef();
59 this->resource = resourcePointer.resource;
60 resourcePointer.resource =
nullptr;
65 T ** internalPointer() { this->release();
return &resource; }
66 void ** internalVoidPointer() { this->release();
return reinterpret_cast<void**
>(&resource); }
68 T *
const * operator &()
const {
return &resource; }
70 operator T *()
const {
return resource; }
72 T * operator->() {
return resource; }
74 const T * operator->()
const {
return resource; }
76 T & operator*() {
return *resource; }
78 const T & operator*()
const {
return *resource; }
83 return static_cast<U *
>(resource);
Contains all Cogs related functionality.