describes the features of a data handle for communication in parallel runs using the GridGlue::communicate methods.
More...
|
template<class RISType > |
size_t | size (RISType &i) const |
|
template<class MessageBufferImp , class EntityType , class RISType > |
void | gather (MessageBufferImp &buff, const EntityType &e, const RISType &i) const |
| pack data from user to message buffer More...
|
|
template<class MessageBufferImp , class EntityType , class RISType > |
void | scatter (MessageBufferImp &buff, const EntityType &e, const RISType &i, size_t n) |
|
template<class DataHandleImp, class DataTypeImp>
class Dune::GridGlue::CommDataHandle< DataHandleImp, DataTypeImp >
describes the features of a data handle for communication in parallel runs using the GridGlue::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) |
template<class DataHandleImp, class DataTypeImp>
template<class MessageBufferImp , class EntityType , class RISType >
template<class DataHandleImp, class DataTypeImp>
template<class MessageBufferImp , class EntityType , class RISType >
void Dune::GridGlue::CommDataHandle< DataHandleImp, DataTypeImp >::scatter |
( |
MessageBufferImp & |
buff, |
|
|
const EntityType & |
e, |
|
|
const RISType & |
i, |
|
|
size_t |
n |
|
) |
| |
|
inline |
unpack data from message buffer to user n is the number of objects sent by the sender
- Parameters
-
buff | message buffer provided by the grid |
e | entity for which date should be unpacked from buffer |
i | Intersection for which data is received |
n | number of data written to buffer for this entity before |
Referenced by Dune::GridGlue::GridGlue< P0, P1 >::communicate().