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

#include <ShaderCpuWriteResourceUniquePtr.h>

Public Member Functions

 ShaderCpuWriteResourceUniquePtr (const ShaderCpuWriteResourceUniquePtr &)=delete
 
ShaderCpuWriteResourceUniquePtroperator= (const ShaderCpuWriteResourceUniquePtr &)=delete
 
 ShaderCpuWriteResourceUniquePtr (ShaderCpuWriteResourceUniquePtr &&other) noexcept
 
ShaderCpuWriteResourceUniquePtroperator= (ShaderCpuWriteResourceUniquePtr &&other) noexcept
 
void markAsNeedsUpdate ()
 
ShaderCpuWriteResourcegetResource () const
 

Private Member Functions

 ShaderCpuWriteResourceUniquePtr (ShaderCpuWriteResourceManager *pManager, ShaderCpuWriteResource *pResource)
 

Private Attributes

ShaderCpuWriteResourceManagerpManager = nullptr
 
ShaderCpuWriteResourcepResource = nullptr
 

Friends

class ShaderCpuWriteResourceManager
 

Detailed Description

Small raw pointer wrapper that acts like std::unique_ptr for shader CPU write resources to do some extra work when started/stopped referencing a resource.

When deleted causes the resource to be also deleted.

Constructor & Destructor Documentation

◆ ShaderCpuWriteResourceUniquePtr() [1/2]

ne::ShaderCpuWriteResourceUniquePtr::ShaderCpuWriteResourceUniquePtr ( ShaderCpuWriteResourceUniquePtr &&  other)
noexcept

Move constructor.

Parameters
otherOther object.

◆ ShaderCpuWriteResourceUniquePtr() [2/2]

ne::ShaderCpuWriteResourceUniquePtr::ShaderCpuWriteResourceUniquePtr ( ShaderCpuWriteResourceManager pManager,
ShaderCpuWriteResource pResource 
)
private

Constructs a new unique pointer.

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

Member Function Documentation

◆ getResource()

ShaderCpuWriteResource * ne::ShaderCpuWriteResourceUniquePtr::getResource ( ) const
inline

Returns the underlying resource.

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

◆ markAsNeedsUpdate()

void ne::ShaderCpuWriteResourceUniquePtr::markAsNeedsUpdate ( )

Marks shader resource as "needs update", this will cause resource's update callback to be called multiple times.

◆ operator=()

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

Move assignment.

Parameters
otherOther object.
Returns
Result of move assignment.

Member Data Documentation

◆ pManager

ShaderCpuWriteResourceManager* ne::ShaderCpuWriteResourceUniquePtr::pManager = nullptr
private

Manager that owns the resource we are pointing to.

◆ pResource

ShaderCpuWriteResource* ne::ShaderCpuWriteResourceUniquePtr::pResource = nullptr
private

Resource we are pointing to.


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