Implement a data handle with a grid function space.
More...
#include <dune/pdelab/gridfunctionspace/genericdatahandle.hh>
|
typedef CommunicationDescriptor::DataType | DataType |
|
typedef GFS::Traits::SizeType | size_type |
|
|
| GFSDataHandle (const GFS &gfs, V &v, GatherScatter gather_scatter=GatherScatter(), CommunicationDescriptor communication_descriptor=CommunicationDescriptor()) |
|
bool | contains (int dim, int codim) const |
| returns true if data for this codim should be communicated More...
|
|
bool | fixedSize (int dim, int codim) const |
| returns true if size per entity of given dim and codim is a constant More...
|
|
template<typename Entity > |
size_type | size (const Entity &e) const |
| how many objects of type DataType have to be sent for a given entity More...
|
|
template<typename MessageBuffer , typename Entity > |
std::enable_if< CommunicationDescriptor::wrap_buffer &&AlwaysTrue< Entity >::value >::type | gather (MessageBuffer &buff, const Entity &e) const |
| pack data from user to message buffer - version with support for sending leaf ordering sizes More...
|
|
template<typename MessageBuffer , typename Entity > |
std::enable_if< !CommunicationDescriptor::wrap_buffer &&AlwaysTrue< Entity >::value >::type | gather (MessageBuffer &buff, const Entity &e) const |
| pack data from user to message buffer - version without support for sending leaf ordering sizes More...
|
|
template<typename MessageBuffer , typename Entity > |
std::enable_if< CommunicationDescriptor::wrap_buffer &&AlwaysTrue< Entity >::value >::type | scatter (MessageBuffer &buff, const Entity &e, size_type n) |
| unpack data from message buffer to user More...
|
|
template<typename MessageBuffer , typename Entity > |
std::enable_if< !CommunicationDescriptor::wrap_buffer &&AlwaysTrue< Entity >::value >::type | scatter (MessageBuffer &buff, const Entity &e, size_type n) |
| unpack data from message buffer to user More...
|
|
template<typename GFS, typename V, typename GatherScatter, typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
class Dune::PDELab::GFSDataHandle< GFS, V, GatherScatter, CommunicationDescriptor >
Implement a data handle with a grid function space.
- Template Parameters
-
GFS | a grid function space |
V | a vector container associated with the GFS |
GatherScatter | gather/scatter methods with argumemts buffer, and data |
CommunicationDescriptor | A descriptor for the communication structure |
◆ DataType
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
◆ size_type
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
◆ GFSDataHandle()
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
Dune::PDELab::GFSDataHandle< GFS, V, GatherScatter, CommunicationDescriptor >::GFSDataHandle |
( |
const GFS & |
gfs, |
|
|
V & |
v, |
|
|
GatherScatter |
gather_scatter = GatherScatter() , |
|
|
CommunicationDescriptor |
communication_descriptor = CommunicationDescriptor() |
|
) |
| |
|
inline |
◆ contains()
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
returns true if data for this codim should be communicated
◆ fixedSize()
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
returns true if size per entity of given dim and codim is a constant
◆ gather() [1/2]
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
template<typename MessageBuffer , typename Entity >
std::enable_if< CommunicationDescriptor::wrap_buffer && AlwaysTrue<Entity>::value >::type Dune::PDELab::GFSDataHandle< GFS, V, GatherScatter, CommunicationDescriptor >::gather |
( |
MessageBuffer & |
buff, |
|
|
const Entity & |
e |
|
) |
| const |
|
inline |
pack data from user to message buffer - version with support for sending leaf ordering sizes
◆ gather() [2/2]
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
template<typename MessageBuffer , typename Entity >
std::enable_if< !CommunicationDescriptor::wrap_buffer && AlwaysTrue<Entity>::value >::type Dune::PDELab::GFSDataHandle< GFS, V, GatherScatter, CommunicationDescriptor >::gather |
( |
MessageBuffer & |
buff, |
|
|
const Entity & |
e |
|
) |
| const |
|
inline |
pack data from user to message buffer - version without support for sending leaf ordering sizes
◆ scatter() [1/2]
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
template<typename MessageBuffer , typename Entity >
std::enable_if< CommunicationDescriptor::wrap_buffer && AlwaysTrue<Entity>::value >::type Dune::PDELab::GFSDataHandle< GFS, V, GatherScatter, CommunicationDescriptor >::scatter |
( |
MessageBuffer & |
buff, |
|
|
const Entity & |
e, |
|
|
size_type |
n |
|
) |
| |
|
inline |
unpack data from message buffer to user
n is the number of objects sent by the sender
This is the version with support for receiving leaf ordering sizes
◆ scatter() [2/2]
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
template<typename MessageBuffer , typename Entity >
std::enable_if< !CommunicationDescriptor::wrap_buffer && AlwaysTrue<Entity>::value >::type Dune::PDELab::GFSDataHandle< GFS, V, GatherScatter, CommunicationDescriptor >::scatter |
( |
MessageBuffer & |
buff, |
|
|
const Entity & |
e, |
|
|
size_type |
n |
|
) |
| |
|
inline |
unpack data from message buffer to user
n is the number of objects sent by the sender
This is the version without support for receiving leaf ordering sizes
◆ size()
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
template<typename Entity >
how many objects of type DataType have to be sent for a given entity
Note: Only the sender side needs to know this size.
◆ leaf_count
template<typename GFS , typename V , typename GatherScatter , typename CommunicationDescriptor = DOFDataCommunicationDescriptor<typename V::ElementType>>
The documentation for this class was generated from the following file: