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

UPstream fundamental/aliased (excludes user-defined) data type or a component aggregate of the same. More...

#include <UPstreamTraits.H>

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

Public Types

using base
 The underlying data type (if supported) or byte.

Static Public Member Functions

static constexpr std::streamsize size (std::streamsize n) noexcept
 The size in terms of the number of underlying data elements.

Static Public Attributes

static constexpr auto datatype_id
 The corresponding UPstream::dataTypes enumeration.

Detailed Description

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

UPstream fundamental/aliased (excludes user-defined) data type or a component aggregate of the same.

True for the following conditions:

  • The Type is directly supported
  • The cmptType (eg, from VectorSpace) exists and is directly supported
  • Fallback to byte-wise representation (ie, for contiguous)

Definition at line 349 of file UPstreamTraits.H.

Member Typedef Documentation

◆ base

template<class T>
using base
Initial value:
std::conditional_t
<
>
Explicit handling of data type aliases. This is necessary since different systems map things like 'un...
std::conditional_t< UPstream_mpi_dataType< std::remove_cv_t< T > >::value, 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 > > base
std::conditional_t< UPstream_alias_dataType< T >::value, typename UPstream_alias_dataType< T >::base, typename UPstream_alias_dataType< typename pTraits_cmptType< T >::type >::base > base
The underlying data type (if supported) or byte.

The underlying data type (if supported) or byte.

Definition at line 362 of file UPstreamTraits.H.

Member Function Documentation

◆ size()

template<class T>
constexpr std::streamsize size ( std::streamsize n)
inlinestaticconstexprnoexcept

The size in terms of the number of underlying data elements.

Definition at line 379 of file UPstreamTraits.H.

References n, and Foam::T().

Here is the call graph for this function:

Member Data Documentation

◆ datatype_id

template<class T>
auto datatype_id
staticconstexpr
Initial value:

The corresponding UPstream::dataTypes enumeration.

Definition at line 373 of file UPstreamTraits.H.


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