KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
|
Parameter wrapping an operation passed to reduce-like MPI collectives. This wraps an MPI operation without the argument of the operation specified. This enables the user to construct such wrapper using the parameter factory kamping::op
without passing the type of the operation. The library developer may then construct the actual operation wrapper with a given type later.
More...
#include <operation_builder.hpp>
Public Member Functions | |
OperationBuilder (Op &&op, Commutative commutative_tag) | |
constructs an Operation builder | |
OperationBuilder (OperationBuilder &&)=default | |
Move constructor for OperationsBuilder. | |
OperationBuilder & | operator= (OperationBuilder &&)=default |
Move assignment operator for OperationsBuilder. | |
OperationBuilder (OperationBuilder const &)=delete | |
Copy constructor is deleted as buffers should only be moved. | |
OperationBuilder & | operator= (OperationBuilder const &)=delete |
Copy assignment operator is deleted as buffers should only be moved. | |
template<typename T > | |
auto | build_operation () |
constructs an operation for the given type T | |
Static Public Attributes | |
static constexpr ParameterType | parameter_type |
The type of parameter this object encapsulates. | |
Parameter wrapping an operation passed to reduce-like MPI collectives. This wraps an MPI operation without the argument of the operation specified. This enables the user to construct such wrapper using the parameter factory kamping::op
without passing the type of the operation. The library developer may then construct the actual operation wrapper with a given type later.
Op | type of the operation (may be a function object or a lambda) |
Commutative | tag specifying if the operation is commutative |
|
inline |
constructs an Operation builder
op | the operation |
commutative_tag | tag indicating if the operation is commutative (see kamping::op for details) |
|
inline |
constructs an operation for the given type T
T | argument type of the reduction operation |
|
staticconstexpr |
The type of parameter this object encapsulates.