Dune::cpgrid::FaceViaCellHandleWrapper< Handle > Struct Template Reference

A data handle to send data attached to faces via cell communication. More...

#include <DataHandleWrappers.hpp>

Public Types

using DataType = typename Handle::DataType
 
using C2FTable = OrientedEntityTable< 0, 1 >
 

Public Member Functions

 FaceViaCellHandleWrapper (Handle &handle, const C2FTable &c2fGather, const C2FTable &c2f)
 Constructs the data handle. More...
 
bool fixedSize (int, int)
 
template<class T >
std::enable_if< T::codimension!=0, std::size_t >::type size (const T &)
 
std::size_t size (const EntityRep< 0 > &t)
 
bool contains (std::size_t dim, std::size_t codim)
 
template<class B , class T >
std::enable_if< T::codimension!=0, void >::type gather (B &, const T &)
 
template<class B >
void gather (B &buffer, const EntityRep< 0 > &t)
 
template<class B , class T >
std::enable_if< T::codimension!=0, void >::type scatter (B &, const T &, std::size_t)
 
template<class B >
void scatter (B &buffer, const EntityRep< 0 > &t, std::size_t)
 

Detailed Description

template<class Handle>
struct Dune::cpgrid::FaceViaCellHandleWrapper< Handle >

A data handle to send data attached to faces via cell communication.

With it we can use the cell communication to also communicate data attached to faces.

Warning
As we send all faces of cell most of the faces will be send twice which will temporarily waste some space and bandwidth.
Template Parameters
HandleThe type of the data handle to wrap. It must gather and scatter only for codim-1 entities.
Warning
The wrapped data handle must not used the last argument of its' scatter method since this numer will be incorrect in most cases!

Member Typedef Documentation

◆ C2FTable

template<class Handle >
using Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::C2FTable = OrientedEntityTable<0, 1>

◆ DataType

template<class Handle >
using Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::DataType = typename Handle::DataType

Constructor & Destructor Documentation

◆ FaceViaCellHandleWrapper()

template<class Handle >
Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::FaceViaCellHandleWrapper ( Handle &  handle,
const C2FTable c2fGather,
const C2FTable c2f 
)
inline

Constructs the data handle.

Parameters
handleHandle object wrapped and used for actual gather/scatter
c2pGatherTable to determine points when gathering
c2pTable to determine points when scattering

Member Function Documentation

◆ contains()

template<class Handle >
bool Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::contains ( std::size_t  dim,
std::size_t  codim 
)
inline

◆ fixedSize()

template<class Handle >
bool Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::fixedSize ( int  ,
int   
)
inline

◆ gather() [1/2]

template<class Handle >
template<class B , class T >
std::enable_if< T::codimension!=0, void >::type Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::gather ( B &  ,
const T &   
)
inline

◆ gather() [2/2]

template<class Handle >
template<class B >
void Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::gather ( B &  buffer,
const EntityRep< 0 > &  t 
)
inline

References buffer.

◆ scatter() [1/2]

template<class Handle >
template<class B , class T >
std::enable_if< T::codimension!=0, void >::type Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::scatter ( B &  ,
const T &  ,
std::size_t   
)
inline

◆ scatter() [2/2]

template<class Handle >
template<class B >
void Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::scatter ( B &  buffer,
const EntityRep< 0 > &  t,
std::size_t   
)
inline

References buffer.

◆ size() [1/2]

template<class Handle >
std::size_t Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::size ( const EntityRep< 0 > &  t)
inline

◆ size() [2/2]

template<class Handle >
template<class T >
std::enable_if< T::codimension!=0, std::size_t >::type Dune::cpgrid::FaceViaCellHandleWrapper< Handle >::size ( const T &  )
inline

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