OpenLB 1.8.1
Loading...
Searching...
No Matches
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 360 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 365 of file fieldArrayD.h.

365 :
366 _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 390 of file fieldArrayD.h.

392 {
393 const std::uint8_t* curr = buffer;
395 ColumnVector<typename ImplementationOf<typename FIELD::template column_type<T>,PLATFORM>::type,
396 DESCRIPTOR::template size<FIELD>()>
397 >(_communicatee).deserialize(indices, curr);
398 return curr - buffer;
399 }
std::size_t size(ConstSpan< CellID > indices) const override
Get serialized size for data at locations indices
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(), and olb::ConcreteCommunicatable< COMMUNICATEE >::size().

+ 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 378 of file fieldArrayD.h.

380 {
381 std::uint8_t* curr = buffer;
383 ColumnVector<typename ImplementationOf<typename FIELD::template column_type<T>,PLATFORM>::type,
384 DESCRIPTOR::template size<FIELD>()>
385 >(_communicatee).serialize(indices, curr);
386 return curr - buffer;
387 }
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(), and olb::ConcreteCommunicatable< COMMUNICATEE >::size().

+ 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 369 of file fieldArrayD.h.

370 {
372 ColumnVector<typename ImplementationOf<typename FIELD::template column_type<T>,PLATFORM>::type,
373 DESCRIPTOR::template size<FIELD>()>
374 >(_communicatee).size(indices));
375 }

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

+ Here is the call graph for this function:

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