Loading...
Searching...
No Matches
UPstream_alias_dataType< T > Struct Template Reference

Explicit handling of data type aliases. This is necessary since different systems map things like 'unsigned long' differently but we restrict ourselves to int32/int64 types. More...

#include <UPstreamTraits.H>

Inheritance diagram for UPstream_alias_dataType< T >:
Collaboration diagram for UPstream_alias_dataType< T >:

Public Types

using base

Static Public Attributes

static constexpr auto datatype_id

Detailed Description

template<class T>
struct Foam::UPstream_alias_dataType< T >

Explicit handling of data type aliases. This is necessary since different systems map things like 'unsigned long' differently but we restrict ourselves to int32/int64 types.

Note that this trait serves as the single pass-through point when needing to reference UPstream_mpi_dataType elsewhere

Definition at line 229 of file UPstreamTraits.H.

Member Typedef Documentation

◆ base

template<class T>
using base
Initial value:
std::conditional_t
<
std::remove_cv_t<T>,
std::conditional_t
<
(
std::is_integral_v<T>
&& (sizeof(T) == sizeof(int32_t) || sizeof(T) == sizeof(int64_t))
),
std::conditional_t
<
(sizeof(T) == sizeof(int32_t)),
std::conditional_t<std::is_signed_v<T>, int32_t, uint32_t>,
std::conditional_t<std::is_signed_v<T>, int64_t, uint64_t>
>,
char
>
>
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
UPstream data type corresponding to a fundamental (MPI) type.

Definition at line 242 of file UPstreamTraits.H.

Member Data Documentation

◆ datatype_id

template<class T>
auto datatype_id
staticconstexpr
Initial value:

Definition at line 262 of file UPstreamTraits.H.


The documentation for this struct was generated from the following file: