|
KaMPIng 0.2.0
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.