KaMPIng 0.1.0
(Near) zero-overhead C++ MPI bindings.
|
Base object for parameter objects which deletes copy constructor and assignment operator and enables move. More...
#include <data_buffer.hpp>
Protected Member Functions | |
ParameterObjectBase (ParameterObjectBase const &)=delete | |
Copy constructor is deleted as buffers should only be moved. | |
ParameterObjectBase & | operator= (ParameterObjectBase const &)=delete |
Copy assignment operator is deleted as buffers should only be moved. | |
ParameterObjectBase (ParameterObjectBase &&)=default | |
Move constructor. | |
ParameterObjectBase & | operator= (ParameterObjectBase &&)=default |
Move assignment operator. | |
void | set_extracted () |
Set the extracted flag to indicate that the status stored in this buffer has been moved out. | |
void | kassert_not_extracted (std::string const message) const |
Throws an assertion if the extracted flag is set, i.e. the underlying status has been moved out. | |
Base object for parameter objects which deletes copy constructor and assignment operator and enables move.
You can inherit from this class privately. While constructors are never inherited, the derived class still has no copy constructor (assignment), 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.
|
inlineprotected |
Throws an assertion if the extracted flag is set, i.e. the underlying status has been moved out.
message | The message for the assertion. |