3#ifndef DUNE_PDELAB_COMMON_POLYMORPHICBUFFERWRAPPER_HH
4#define DUNE_PDELAB_COMMON_POLYMORPHICBUFFERWRAPPER_HH
30 template<
typename Buffer>
46 const char* raw_data =
reinterpret_cast<const char*
>(&data);
47 for (std::size_t i = 0; i <
sizeof(T); ++i)
48 _buffer.write(*(raw_data++));
55 char* raw_data =
reinterpret_cast<char*
>(&data);
56 for (std::size_t i = 0; i <
sizeof(T); ++i)
57 _buffer.read(*(raw_data++));
64 , _transmit_rank(transmit_rank)
84 return _transmit_rank;
89 assert(_sender_rank >= 0);
98 const bool _transmit_rank;
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
Wrapper for message buffers of grid DataHandles that allows for sending different types of data.
Definition: polymorphicbufferwrapper.hh:32
Mode mode() const
Definition: polymorphicbufferwrapper.hh:77
void read(T &data)
Definition: polymorphicbufferwrapper.hh:52
PolymorphicBufferWrapper(Buffer &buffer, Mode mode, int rank=-1, bool transmit_rank=false)
Definition: polymorphicbufferwrapper.hh:60
void write(const T &data)
Definition: polymorphicbufferwrapper.hh:43
bool transmitRank() const
Definition: polymorphicbufferwrapper.hh:82
int senderRank() const
Definition: polymorphicbufferwrapper.hh:87
Mode
Definition: polymorphicbufferwrapper.hh:37