ELEC-C7222
Libraries for ELEC C7222 Course Work
Loading...
Searching...
No Matches
c7222::NonCopyable Class Reference

Disable copy operations while keeping move operations enabled. More...

#include <non_copyable.hpp>

Inheritance diagram for c7222::NonCopyable:
Inheritance graph
Collaboration diagram for c7222::NonCopyable:
Collaboration graph

Public Member Functions

 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 

Protected Member Functions

 NonCopyable ()=default
 
 ~NonCopyable ()=default
 

Detailed Description

Disable copy operations while keeping move operations enabled.

Intended use:

  • Use as a base class when a type owns a unique resource (hardware handle, mutex, file descriptor) and copying would be unsafe or ambiguous.

Base class usage:

  • Inherit publicly if you want derived types to be non-copyable but movable.

Constructor & Destructor Documentation

◆ NonCopyable() [1/3]

c7222::NonCopyable::NonCopyable ( )
protecteddefault

◆ ~NonCopyable()

c7222::NonCopyable::~NonCopyable ( )
protecteddefault

◆ NonCopyable() [2/3]

c7222::NonCopyable::NonCopyable ( const NonCopyable )
delete

◆ NonCopyable() [3/3]

c7222::NonCopyable::NonCopyable ( NonCopyable &&  )
default

Member Function Documentation

◆ operator=() [1/2]

NonCopyable & c7222::NonCopyable::operator= ( const NonCopyable )
delete

◆ operator=() [2/2]

NonCopyable & c7222::NonCopyable::operator= ( NonCopyable &&  )
default

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