KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
|
Parameter object representing a data buffer. This is an intermediate object which only holds the data and parameters. The actual buffer is created by calling the construct_buffer_or_rebind()
method.
More...
#include <parameter_objects.hpp>
Public Types | |
using | DataBufferType |
The type of the constructed data buffer. | |
using | value_type = typename DataBufferType::value_type |
The constructed data buffer's value type. | |
Public Member Functions | |
template<typename Data_ > | |
DataBufferBuilder (Data_ &&data) | |
Constructor for DataBufferBuilder. | |
template<template< typename... > typename RebindContainerType = UnusedRebindContainer, typename Flag = void> | |
auto | construct_buffer_or_rebind () |
Constructs the data buffer. | |
size_t | size () const |
The size of the underlying container. | |
Static Public Attributes | |
static constexpr ParameterType | parameter_type = parameter_type_param |
The parameter type. | |
static constexpr bool | is_out_buffer |
static constexpr bool | is_owning |
Indicates whether the buffer owns its underlying storage. | |
static constexpr bool | is_lib_allocated |
Indicates whether the buffer is allocated by KaMPIng. | |
static constexpr bool | is_single_element |
Indicated whether the buffer is a single element buffer. | |
Parameter object representing a data buffer. This is an intermediate object which only holds the data and parameters. The actual buffer is created by calling the construct_buffer_or_rebind()
method.
Data | The data type. |
parameter_type_param | The parameter type. |
modifiability | The modifiability of the buffer. |
buffer_type | The type of the buffer. |
buffer_resize_policy | The resize policy of the buffer. |
ValueType | The value type of the buffer. Defaults to default_value_type_tag, indicating that this buffer does not enforce a specific value type. |
using kamping::internal::DataBufferBuilder< Data, parameter_type_param, modifiability, buffer_type, buffer_resize_policy, ValueType >::DataBufferType |
The type of the constructed data buffer.
|
inline |
Constructor for DataBufferBuilder.
data | The container to build a databuffer for |
Data_ | The type of the container. |
|
inline |
Constructs the data buffer.
RebindContainerType | The container to use for the data buffer (has no effect here). |
Flag | A tag type indicating special behavior, e.g., serialization support ( |
void
.
|
staticconstexpr |
Indicates whether the buffer is allocated by KaMPIng.
|
staticconstexpr |
true
if the buffer is an out or in/out buffer that results will be written to and false
otherwise.
|
staticconstexpr |
Indicates whether the buffer owns its underlying storage.
|
staticconstexpr |
Indicated whether the buffer is a single element buffer.