Nameless Engine
|
#include <ShaderTextureResourceUniquePtr.h>
Public Member Functions | |
ShaderTextureResourceUniquePtr (const ShaderTextureResourceUniquePtr &)=delete | |
ShaderTextureResourceUniquePtr & | operator= (const ShaderTextureResourceUniquePtr &)=delete |
ShaderTextureResourceUniquePtr (ShaderTextureResourceUniquePtr &&other) noexcept | |
ShaderTextureResourceUniquePtr & | operator= (ShaderTextureResourceUniquePtr &&other) noexcept |
ShaderTextureResource * | getResource () const |
Private Member Functions | |
ShaderTextureResourceUniquePtr (ShaderTextureResourceManager *pManager, ShaderTextureResource *pResource) | |
Private Attributes | |
ShaderTextureResourceManager * | pManager = nullptr |
ShaderTextureResource * | pResource = nullptr |
Friends | |
class | ShaderTextureResourceManager |
Small raw pointer wrapper that acts like std::unique_ptr
for shader texture resources to do some extra work when started/stopped referencing a resource.
When deleted causes the resource to be also deleted.
|
noexcept |
Move constructor.
other | Other object. |
|
private |
Constructs a new unique pointer.
pManager | Manager that owns the resource. |
pResource | Resource to point to. |
|
inline |
Returns the underlying resource.
nullptr
if moved or not initialized, otherwise valid pointer to resource.
|
noexcept |
Move assignment.
other | Other object. |
|
private |
Manager that owns the resource we are pointing to.
|
private |
Resource we are pointing to.