walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T > Class Template Reference

Detailed Description

template<template< typename > class ReduceOperation, typename GhostLayerField_T>
class walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >

Data packing/unpacking for reduce operations This class can be used, when multiple data sets from different senders should be reduced at the receiver.

#include <ReducePackInfo.h>

+ Inheritance diagram for walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >:

Public Types

typedef GhostLayerField_T::value_type T
 

Public Member Functions

 ReducePackInfo (const BlockDataID &bdId, T init)
 
virtual ~ReducePackInfo ()
 
bool constantDataExchange () const
 
bool threadsafeReceiving () const
 
virtual void safeCommunicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir)
 
virtual void packData (const IBlock *sender, stencil::Direction dir, mpi::SendBuffer &outBuffer)
 
virtual void safeUnpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer)
 
size_t getDataSize () const
 
- Public Member Functions inherited from walberla::communication::ReducePackInfo
 ReducePackInfo ()
 
size_t getSize () const
 
void reset ()
 
void communicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir)
 
void unpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer)
 

Protected Member Functions

virtual size_t initData (IBlock *receiver, stencil::Direction dir)
 

Protected Attributes

const BlockDataID bdId_
 
const T init_
 
const ReduceOperation< Top_
 

Member Typedef Documentation

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
typedef GhostLayerField_T::value_type walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::T

Constructor & Destructor Documentation

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::ReducePackInfo ( const BlockDataID &  bdId,
T  init 
)
inline
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
virtual walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::~ReducePackInfo ( )
inlinevirtual

Member Function Documentation

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
bool walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::constantDataExchange ( ) const
inline
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
size_t walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::getDataSize ( ) const
inline
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
size_t walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::initData ( IBlock *  receiver,
stencil::Direction  dir 
)
protectedvirtual
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
virtual void walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::packData ( const IBlock *  sender,
stencil::Direction  dir,
mpi::SendBuffer outBuffer 
)
virtual
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
void walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::safeCommunicateLocal ( const IBlock *  sender,
IBlock *  receiver,
stencil::Direction  dir 
)
virtual
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
virtual void walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::safeUnpackData ( IBlock *  receiver,
stencil::Direction  dir,
mpi::RecvBuffer buffer 
)
virtual
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
bool walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::threadsafeReceiving ( ) const
inline

Member Data Documentation

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
const BlockDataID walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::bdId_
protected
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
const T walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::init_
protected
template<template< typename > class ReduceOperation, typename GhostLayerField_T >
const ReduceOperation<T> walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::op_
protected

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