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: