OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > > Class Template Referencefinal

#include <fieldArrayD.h>

+ Inheritance diagram for olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >:
+ Collaboration diagram for olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >:

Public Member Functions

 ConcreteCommunicatable (FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > &communicatee)
 
std::size_t size (ConstSpan< CellID > indices) const override
 Get serialized size for data at locations indices
 
std::size_t serialize (ConstSpan< CellID > indices, std::uint8_t *buffer) const override
 Serialize data at locations indices to buffer
 
std::size_t deserialize (ConstSpan< CellID > indices, const std::uint8_t *buffer) override
 Deserialize data at locations indices to buffer
 
- Public Member Functions inherited from olb::Communicatable
virtual ~Communicatable ()
 

Detailed Description

template<typename T, typename DESCRIPTOR, Platform PLATFORM, typename FIELD>
class olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >

Definition at line 302 of file fieldArrayD.h.

Constructor & Destructor Documentation

◆ ConcreteCommunicatable()

template<typename T , typename DESCRIPTOR , Platform PLATFORM, typename FIELD >
olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >::ConcreteCommunicatable ( FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > & communicatee)
inline

Definition at line 307 of file fieldArrayD.h.

307 :
308 _communicatee{communicatee} { }

Member Function Documentation

◆ deserialize()

template<typename T , typename DESCRIPTOR , Platform PLATFORM, typename FIELD >
std::size_t olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >::deserialize ( ConstSpan< CellID > indices,
const std::uint8_t * buffer )
inlineoverridevirtual

Deserialize data at locations indices to buffer

Implements olb::Communicatable.

Definition at line 332 of file fieldArrayD.h.

334 {
335 const std::uint8_t* curr = buffer;
337 ColumnVector<typename ImplementationOf<typename FIELD::template column_type<T>,PLATFORM>::type,
338 DESCRIPTOR::template size<FIELD>()>
339 >(_communicatee).deserialize(indices, curr);
340 return curr - buffer;
341 }
ConcreteCommunicatable(FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > &communicatee)
std::size_t deserialize(ConstSpan< CellID > indices, const std::uint8_t *buffer) override
Deserialize data at locations indices to buffer

References olb::ConcreteCommunicatable< COMMUNICATEE >::deserialize().

+ Here is the call graph for this function:

◆ serialize()

template<typename T , typename DESCRIPTOR , Platform PLATFORM, typename FIELD >
std::size_t olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >::serialize ( ConstSpan< CellID > indices,
std::uint8_t * buffer ) const
inlineoverridevirtual

Serialize data at locations indices to buffer

Implements olb::Communicatable.

Definition at line 320 of file fieldArrayD.h.

322 {
323 std::uint8_t* curr = buffer;
325 ColumnVector<typename ImplementationOf<typename FIELD::template column_type<T>,PLATFORM>::type,
326 DESCRIPTOR::template size<FIELD>()>
327 >(_communicatee).serialize(indices, curr);
328 return curr - buffer;
329 }
std::size_t serialize(ConstSpan< CellID > indices, std::uint8_t *buffer) const override
Serialize data at locations indices to buffer

References olb::ConcreteCommunicatable< COMMUNICATEE >::serialize().

+ Here is the call graph for this function:

◆ size()

template<typename T , typename DESCRIPTOR , Platform PLATFORM, typename FIELD >
std::size_t olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >::size ( ConstSpan< CellID > indices) const
inlineoverridevirtual

Get serialized size for data at locations indices

Implements olb::Communicatable.

Definition at line 311 of file fieldArrayD.h.

312 {
314 ColumnVector<typename ImplementationOf<typename FIELD::template column_type<T>,PLATFORM>::type,
315 DESCRIPTOR::template size<FIELD>()>
316 >(_communicatee).size(indices));
317 }
std::size_t size(ConstSpan< CellID > indices) const override
Get serialized size for data at locations indices

References olb::ConcreteCommunicatable< COMMUNICATEE >::size().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: