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

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

#include <non_copyable.hpp>

Inheritance diagram for c7222::NonMovable:
Inheritance graph
Collaboration diagram for c7222::NonMovable:
Collaboration graph

Public Member Functions

 NonMovable (const NonMovable &)=default
 
NonMovableoperator= (const NonMovable &)=default
 
 NonMovable (NonMovable &&)=delete
 
NonMovableoperator= (NonMovable &&)=delete
 

Protected Member Functions

 NonMovable ()=default
 
 ~NonMovable ()=default
 

Detailed Description

Disable move operations while keeping copy operations enabled.

Intended use:

  • Use as a base class when the object must stay at a stable address (e.g., it registers its this pointer with hardware/RTOS or exposes internal pointers that must remain valid).

Base class usage:

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

Constructor & Destructor Documentation

◆ NonMovable() [1/3]

c7222::NonMovable::NonMovable ( )
protecteddefault

◆ ~NonMovable()

c7222::NonMovable::~NonMovable ( )
protecteddefault

◆ NonMovable() [2/3]

c7222::NonMovable::NonMovable ( const NonMovable )
default

◆ NonMovable() [3/3]

c7222::NonMovable::NonMovable ( NonMovable &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

NonMovable & c7222::NonMovable::operator= ( const NonMovable )
default

◆ operator=() [2/2]

NonMovable & c7222::NonMovable::operator= ( NonMovable &&  )
delete

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