CommDataHandleIF describes the features of a data handle for communication in parallel runs using the Grid::communicate methods. Here the Barton-Nackman trick is used to interprete data handle objects as its interface. Therefore usable data handle classes need to be derived from this class.
More...
#include <dune/grid/common/datahandleif.hh>
|
typedef DataTypeImp | DataType |
| data type of data to communicate
|
|
|
bool | contains (int dim, int codim) const |
| returns true if data for given valid codim should be communicated More...
|
|
bool | fixedsize (int dim, int codim) const |
| returns true if size of data per entity of given dim and codim is a constant More...
|
|
template<class EntityType > |
size_t | size (const EntityType &e) const |
| how many objects of type DataType have to be sent for a given entity More...
|
|
template<class MessageBufferImp , class EntityType > |
void | gather (MessageBufferImp &buff, const EntityType &e) const |
| pack data from user to message buffer More...
|
|
template<class MessageBufferImp , class EntityType > |
void | scatter (MessageBufferImp &buff, const EntityType &e, size_t n) |
| unpack data from message buffer to user. More...
|
|
template<class DataHandleImp, class DataTypeImp>
class Dune::CommDataHandleIF< DataHandleImp, DataTypeImp >
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the Grid::communicate methods. Here the Barton-Nackman trick is used to interprete data handle objects as its interface. Therefore usable data handle classes need to be derived from this class.
- Template Parameters
-
DataHandleImp | implementation of the users data handle |
DataTypeImp | type of data that are going to be communicated which is exported as DataType (for example double) |
◆ contains()
template<class DataHandleImp , class DataTypeImp >
returns true if data for given valid codim should be communicated
- Parameters
-
dim | valid dimension (i.e. the grids dimension) |
codim | valid codimension of the entity set for which data should be communicated |
◆ fixedsize()
template<class DataHandleImp , class DataTypeImp >
returns true if size of data per entity of given dim and codim is a constant
- Parameters
-
dim | valid dimension (i.e. the grids dimension) |
codim | valid codimension of the entity set for which data should be communicated |
◆ gather()
template<class DataHandleImp , class DataTypeImp >
template<class MessageBufferImp , class EntityType >
void Dune::CommDataHandleIF< DataHandleImp, DataTypeImp >::gather |
( |
MessageBufferImp & |
buff, |
|
|
const EntityType & |
e |
|
) |
| const |
|
inline |
◆ scatter()
template<class DataHandleImp , class DataTypeImp >
template<class MessageBufferImp , class EntityType >
void Dune::CommDataHandleIF< DataHandleImp, DataTypeImp >::scatter |
( |
MessageBufferImp & |
buff, |
|
|
const EntityType & |
e, |
|
|
size_t |
n |
|
) |
| |
|
inline |
unpack data from message buffer to user.
- Parameters
-
buff | message buffer provided by the grid |
e | entity for which date should be unpacked from buffer |
n | number of data written to buffer for this entity before |
References CHECK_AND_CALL_INTERFACE_IMPLEMENTATION.
◆ size()
template<class DataHandleImp , class DataTypeImp >
template<class EntityType >
how many objects of type DataType have to be sent for a given entity
- Note
- Only the sender side needs to know this size.
- Parameters
-
e | entity for which the size should be determined |
The documentation for this class was generated from the following file: