Nameless Engine
Loading...
Searching...
No Matches
ne::ShaderTextureResourceUniquePtr Class Reference

#include <ShaderTextureResourceUniquePtr.h>

Public Member Functions

 ShaderTextureResourceUniquePtr (const ShaderTextureResourceUniquePtr &)=delete
 
ShaderTextureResourceUniquePtroperator= (const ShaderTextureResourceUniquePtr &)=delete
 
 ShaderTextureResourceUniquePtr (ShaderTextureResourceUniquePtr &&other) noexcept
 
ShaderTextureResourceUniquePtroperator= (ShaderTextureResourceUniquePtr &&other) noexcept
 
ShaderTextureResourcegetResource () const
 

Private Member Functions

 ShaderTextureResourceUniquePtr (ShaderTextureResourceManager *pManager, ShaderTextureResource *pResource)
 

Private Attributes

ShaderTextureResourceManagerpManager = nullptr
 
ShaderTextureResourcepResource = nullptr
 

Friends

class ShaderTextureResourceManager
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ShaderTextureResourceUniquePtr() [1/2]

ne::ShaderTextureResourceUniquePtr::ShaderTextureResourceUniquePtr ( ShaderTextureResourceUniquePtr &&  other)
noexcept

Move constructor.

Parameters
otherOther object.

◆ ShaderTextureResourceUniquePtr() [2/2]

ne::ShaderTextureResourceUniquePtr::ShaderTextureResourceUniquePtr ( ShaderTextureResourceManager pManager,
ShaderTextureResource pResource 
)
private

Constructs a new unique pointer.

Parameters
pManagerManager that owns the resource.
pResourceResource to point to.

Member Function Documentation

◆ getResource()

ShaderTextureResource * ne::ShaderTextureResourceUniquePtr::getResource ( ) const
inline

Returns the underlying resource.

Returns
nullptr if moved or not initialized, otherwise valid pointer to resource.

◆ operator=()

ShaderTextureResourceUniquePtr & ne::ShaderTextureResourceUniquePtr::operator= ( ShaderTextureResourceUniquePtr &&  other)
noexcept

Move assignment.

Parameters
otherOther object.
Returns
Result of move assignment.

Member Data Documentation

◆ pManager

ShaderTextureResourceManager* ne::ShaderTextureResourceUniquePtr::pManager = nullptr
private

Manager that owns the resource we are pointing to.

◆ pResource

ShaderTextureResource* ne::ShaderTextureResourceUniquePtr::pResource = nullptr
private

Resource we are pointing to.


The documentation for this class was generated from the following files: