Struct mpi::datatype::UserDatatype
source · pub struct UserDatatype(/* private fields */);
Expand description
Implementations§
source§impl UserDatatype
impl UserDatatype
sourcepub fn contiguous<D>(count: Count, oldtype: &D) -> UserDatatypewhere
D: UncommittedDatatype,
pub fn contiguous<D>(count: Count, oldtype: &D) -> UserDatatypewhere
D: UncommittedDatatype,
Constructs a new datatype by concatenating count
repetitions of oldtype
Examples
See examples/contiguous.rs
Standard section(s)
4.1.2
sourcepub fn vector<D>(
count: Count,
blocklength: Count,
stride: Count,
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
pub fn vector<D>(
count: Count,
blocklength: Count,
stride: Count,
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
Construct a new datatype out of count
blocks of blocklength
elements of oldtype
concatenated with the start of consecutive blocks placed stride
elements apart.
Examples
See examples/vector.rs
Standard section(s)
4.1.2
sourcepub fn heterogeneous_vector<D>(
count: Count,
blocklength: Count,
stride: Address,
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
pub fn heterogeneous_vector<D>(
count: Count,
blocklength: Count,
stride: Address,
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
Like vector()
but stride
is given in bytes rather than elements of oldtype
.
Standard section(s)
4.1.2
sourcepub fn indexed<D>(
blocklengths: &[Count],
displacements: &[Count],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
pub fn indexed<D>(
blocklengths: &[Count],
displacements: &[Count],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
Constructs a new type out of multiple blocks of individual length and displacement.
Block i
will be blocklengths[i]
items of datytpe oldtype
long and displaced by
dispplacements[i]
items of the oldtype
.
Standard section(s)
4.1.2
sourcepub fn heterogeneous_indexed<D>(
blocklengths: &[Count],
displacements: &[Address],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
pub fn heterogeneous_indexed<D>(
blocklengths: &[Count],
displacements: &[Address],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
Constructs a new type out of multiple blocks of individual length and displacement.
Block i
will be blocklengths[i]
items of datytpe oldtype
long and displaced by
dispplacements[i]
bytes.
Standard section(s)
4.1.2
sourcepub fn indexed_block<D>(
blocklength: Count,
displacements: &[Count],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
pub fn indexed_block<D>(
blocklength: Count,
displacements: &[Count],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
Construct a new type out of blocks of the same length and individual displacements.
Standard section(s)
4.1.2
sourcepub fn heterogeneous_indexed_block<D>(
blocklength: Count,
displacements: &[Address],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
pub fn heterogeneous_indexed_block<D>(
blocklength: Count,
displacements: &[Address],
oldtype: &D
) -> UserDatatypewhere
D: UncommittedDatatype,
Construct a new type out of blocks of the same length and individual displacements. Displacements are in bytes.
Standard section(s)
4.1.2
sourcepub fn structured<D>(
blocklengths: &[Count],
displacements: &[Address],
types: &[D]
) -> UserDatatype
pub fn structured<D>( blocklengths: &[Count], displacements: &[Address], types: &[D] ) -> UserDatatype
Constructs a new datatype out of blocks of different length, displacement and datatypes
Examples
See examples/structured.rs
Standard section(s)
4.1.2
sourcepub fn as_ref(&self) -> DatatypeRef<'_>
pub fn as_ref(&self) -> DatatypeRef<'_>
Creates a DatatypeRef from this datatype object.