Class template Dune::GDT::DiscreteFunctionDataHandle

Inherits from Dune::CommDataHandleIF<DiscreteFunctionDataHandle<DiscreteFunctionType>, typename DiscreteFunctionType::SpaceType::R>.

template<class DiscreteFunctionType>
class Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType> : public Dune::CommDataHandleIF<DiscreteFunctionDataHandle<DiscreteFunctionType>, typename DiscreteFunctionType::SpaceType::R>

Communication data handle to exchange the DoFs of a discrete function across process boundaries.

Method Dune::GDT::DiscreteFunctionDataHandle::contains

template<class DiscreteFunctionType>
bool Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::contains(int, int codim) const

returns true if data for this codim should be communicated

Method Dune::GDT::DiscreteFunctionDataHandle::fixedSize

template<class DiscreteFunctionType>
bool Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::fixedSize(int, int) const

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

Note

has to be spelled fixedSize: CommDataHandleIF dispatches via CRTP and its default implementation calls asImp().fixedSize(…), so a misspelled override recurses infinitely (stack overflow) when communicating

Constructor Dune::GDT::DiscreteFunctionDataHandle::DiscreteFunctionDataHandle<DiscreteFunctionType>

template<>
template<class DiscreteFunctionType>
explicit Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::DiscreteFunctionDataHandle<DiscreteFunctionType>(DiscreteFunctionType &discrete_function, bool fixed_size = true)

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::discrete_function_

DiscreteFunctionType &Dune::GDT::DiscreteFunctionDataHandle::discrete_function_

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::mapper_

const typename DiscreteFunctionType::SpaceType::MapperType &Dune::GDT::DiscreteFunctionDataHandle::mapper_

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::vector_

typename DiscreteFunctionType::VectorType &Dune::GDT::DiscreteFunctionDataHandle::vector_

No documentation provided.

Field Dune::GDT::DiscreteFunctionDataHandle::fixed_size_

const bool Dune::GDT::DiscreteFunctionDataHandle::fixed_size_

No documentation provided.

Type alias Dune::GDT::DiscreteFunctionDataHandle::DataType

type Dune::GDT::DiscreteFunctionDataHandle::DataType

export type of data for message buffer

Function template Dune::GDT::DiscreteFunctionDataHandle::size

template<class DiscreteFunctionType>
template<class EntityType>
int Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::size(const EntityType&) 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.

Function template Dune::GDT::DiscreteFunctionDataHandle::gather

template<class DiscreteFunctionType>
template<class MessageBuffer, class EntityType>
int Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::gather(MessageBuffer&, const EntityType&) const

pack data from user to message buffer

Function template Dune::GDT::DiscreteFunctionDataHandle::scatter

template<class DiscreteFunctionType>
template<class MessageBuffer, class EntityType>
int Dune::GDT::DiscreteFunctionDataHandle<DiscreteFunctionType>::scatter(MessageBuffer&, const EntityType&, int)

unpack data from message buffer to user n is the number of objects sent by the sender