waLBerla 7.3
Loading...
Searching...
No Matches
walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag > Class Template Reference

#include <GenericFieldPackInfos.hpp>

Public Types

using FieldType = TField
using Stencil = TStencil
using value_type = typename FieldType::value_type

Public Member Functions

 GenericStreamPullPackInfo (const FieldType &field)
void pack (const IBlock &srcBlock, stencil::Direction commDir, stdlib::span< value_type > buffer, XTag xtag) const
void unpack (IBlock &dstBlock, stencil::Direction commDir, stdlib::span< const value_type > buffer, XTag xtag) const
void localCopy (const IBlock &srcBlock, stencil::Direction commDir, IBlock &dstBlock, XTag xtag) const
size_t packetSize (stencil::Direction commDir) const

Private Attributes

FieldType field_

Member Typedef Documentation

◆ FieldType

template<IField TField, typename TStencil, sweep::ExecTag XTag>
using walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::FieldType = TField

◆ Stencil

template<IField TField, typename TStencil, sweep::ExecTag XTag>
using walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::Stencil = TStencil

◆ value_type

template<IField TField, typename TStencil, sweep::ExecTag XTag>
using walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::value_type = typename FieldType::value_type

Constructor & Destructor Documentation

◆ GenericStreamPullPackInfo()

template<IField TField, typename TStencil, sweep::ExecTag XTag>
walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::GenericStreamPullPackInfo ( const FieldType & field)
inlineexplicit
Parameters
fieldThe field whose ghost layers to exchange
numGhostLayersNumber of ghost layers to exchange. Must not exceed the field's total number of ghost layers.

Member Function Documentation

◆ localCopy()

template<IField TField, typename TStencil, sweep::ExecTag XTag>
void walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::localCopy ( const IBlock & srcBlock,
stencil::Direction commDir,
IBlock & dstBlock,
XTag xtag ) const
inline

◆ pack()

template<IField TField, typename TStencil, sweep::ExecTag XTag>
void walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::pack ( const IBlock & srcBlock,
stencil::Direction commDir,
stdlib::span< value_type > buffer,
XTag xtag ) const
inline

◆ packetSize()

template<IField TField, typename TStencil, sweep::ExecTag XTag>
size_t walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::packetSize ( stencil::Direction commDir) const
inline

◆ unpack()

template<IField TField, typename TStencil, sweep::ExecTag XTag>
void walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::unpack ( IBlock & dstBlock,
stencil::Direction commDir,
stdlib::span< const value_type > buffer,
XTag xtag ) const
inline

Member Data Documentation

◆ field_

template<IField TField, typename TStencil, sweep::ExecTag XTag>
FieldType walberla::v8::halo_exchange::fields::GenericStreamPullPackInfo< TField, TStencil, XTag >::field_
private

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