KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
Loading...
Searching...
No Matches
kamping::internal::CopyMoveEnabler< bool > Class Template Reference

Class optionally containing a copy constructor while supporting move assignment/construction. More...

#include <data_buffer.hpp>

Inheritance diagram for kamping::internal::CopyMoveEnabler< bool >:

Protected Member Functions

 CopyMoveEnabler (CopyMoveEnabler const &)=delete
 Copy constructor is deleted as buffers should only be moved.
 
CopyMoveEnableroperator= (CopyMoveEnabler const &)=delete
 Copy assignment operator is deleted as buffers should only be moved.
 
 CopyMoveEnabler (CopyMoveEnabler &&)=default
 Move constructor.
 
CopyMoveEnableroperator= (CopyMoveEnabler &&)=default
 Move assignment operator.
 

Detailed Description

template<bool = false>
class kamping::internal::CopyMoveEnabler< bool >

Class optionally containing a copy constructor while supporting move assignment/construction.

Template Parameters
enable_copy_constructorIndicates whether the copy constructor should be enabled. You can inherit from this class privately. While constructors are never inherited, the derived class still has no copy constructor (if not especially enabled), because it can not be default constructed, due to the missing implementation in the base class. Because we provide a (default) implementation for the move constructor (assignment) in the base class, the derived class can construct default implementations.

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