Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::INoCopyAndMove Class Reference

Marks the derived class as non-copyable and non-movable. More...

#include <INoCopyAndMove.h>

Inheritance diagram for ph::INoCopyAndMove:
ph::CookedResourceCollectionBase ph::TMRSWResource< Resource > ph::TSPSCRingBuffer< T, N >::ConsumerGuard ph::TSPSCRingBuffer< T, N >::ProducerGuard ph::Workflow ph::CookedResourceCollection ph::TransientResourceCache

Protected Member Functions

 INoCopyAndMove ()=default
 
 ~INoCopyAndMove ()=default
 
 INoCopyAndMove (INoCopyAndMove &&other)=delete
 
INoCopyAndMoveoperator= (INoCopyAndMove &&rhs)=delete
 
 INoCopyAndMove (const INoCopyAndMove &other)=delete
 
INoCopyAndMoveoperator= (const INoCopyAndMove &rhs)=delete
 

Detailed Description

Marks the derived class as non-copyable and non-movable.

Deriving from this class helps to prevent accidentally copying or moving the instance. This class should never be used as a base type that points to derived class instances.

Note while defining copy ctor and copy assignment operator as deleted will also make the class non-movable, we explicitly mark move operations as deleted so the intent is obvious. See IMoveOnly for more details.

Constructor & Destructor Documentation

◆ INoCopyAndMove() [1/3]

ph::INoCopyAndMove::INoCopyAndMove ( )
inlineprotecteddefault

◆ ~INoCopyAndMove()

ph::INoCopyAndMove::~INoCopyAndMove ( )
inlineprotecteddefault

◆ INoCopyAndMove() [2/3]

ph::INoCopyAndMove::INoCopyAndMove ( INoCopyAndMove && other)
protecteddelete

◆ INoCopyAndMove() [3/3]

ph::INoCopyAndMove::INoCopyAndMove ( const INoCopyAndMove & other)
protecteddelete

Member Function Documentation

◆ operator=() [1/2]

INoCopyAndMove & ph::INoCopyAndMove::operator= ( const INoCopyAndMove & rhs)
protecteddelete

◆ operator=() [2/2]

INoCopyAndMove & ph::INoCopyAndMove::operator= ( INoCopyAndMove && rhs)
protecteddelete

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