Class template Dune::GDT::SpaceDataHandle

template<class GV, size_t r, size_t rD, class R, typename VectorType, typename GatherScatter>
class Dune::GDT::SpaceDataHandle

Generic Dune communication data handle exchanging a space’s DoF data, delegating the actual packing to a gather/scatter functor and a communication descriptor.

bool Dune::GDT::SpaceDataHandle::contains(int dim, int codim) const

returns true if data for this codim should be communicated

bool Dune::GDT::SpaceDataHandle::fixedsize(int dim, int codim) const

returns true if size per entity of given dim and codim is a constant

template<>
Dune::GDT::SpaceDataHandle::SpaceDataHandle<GV, r, rD, R, VectorType, GatherScatter, CommunicationDescriptor>(const SpaceInterface<GV, r, rD, R> &space, VectorType &v, CommunicationDescriptor communication_descriptor, GatherScatter gather_scatter = GatherScatter())

No documentation provided.

const SpaceType &Dune::GDT::SpaceDataHandle::space_

No documentation provided.

GatherScatter Dune::GDT::SpaceDataHandle::gather_scatter_

has to be mutable because gather is const

CommunicationDescriptor Dune::GDT::SpaceDataHandle::communication_descriptor_

No documentation provided.

LocalView<VectorType, typename VectorType::ScalarType, SpaceInterface<GV, r, rD, R>, CommunicationDescriptor> Dune::GDT::SpaceDataHandle::local_view_

No documentation provided.

type Dune::GDT::SpaceDataHandle::DataType

No documentation provided.

type Dune::GDT::SpaceDataHandle::SpaceType

No documentation provided.

template<class EntityType>
size_t Dune::GDT::SpaceDataHandle::size(const EntityType &entity) const

how many objects of type DataType have to be sent for a given entity

Note: Only the sender side needs to know this size.

template<typename MessageBuffer, class EntityType>
void Dune::GDT::SpaceDataHandle::gather(MessageBuffer &buffer, const EntityType &entity) const

pack data from user to message buffer the parent type prescribes a CONST gather method, because obviously receiving data will never change our local state this needs to be defined for all codims, but only codims for which contains is true will ever be called at runtime

template<typename MessageBuffer, class EntityType>
void Dune::GDT::SpaceDataHandle::scatter(MessageBuffer &buff, const EntityType &e, size_t n)

unpack data from message buffer to user n is the number of objects sent by the sender this needs to be defined for all codims, but only codims for which contains is true will ever be called at runtime