OpenLB 1.7
|
#include <communicatable.h>
Public Member Functions | |
virtual | ~Communicatable () |
virtual std::size_t | size (ConstSpan< CellID > indices) const =0 |
virtual std::size_t | serialize (ConstSpan< CellID > indices, std::uint8_t *buffer) const =0 |
Serialize data at locations indices to buffer | |
virtual std::size_t | deserialize (ConstSpan< CellID > indices, const std::uint8_t *buffer)=0 |
Deserialize data at locations indices to buffer | |
Definition at line 69 of file communicatable.h.
|
inlinevirtual |
Definition at line 70 of file communicatable.h.
|
pure virtual |
Deserialize data at locations indices
to buffer
Used for applying inter-block communication messages
Implemented in olb::ConcreteCommunicatable< std::vector< COLUMN > >, olb::ConcreteCommunicatable< ColumnVector< COLUMN, D > >, olb::ConcreteCommunicatable< cpu::simd::CyclicColumn< T > >, olb::ConcreteCommunicatable< gpu::cuda::Column< T > >, olb::ConcreteCommunicatable< gpu::cuda::CyclicColumn< T > >, olb::ConcreteCommunicatable< COMMUNICATEE >, olb::ConcreteCommunicatable< olb::ColumnVector< olb::cpu::sisd::Column< int >, 1 > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< BaseType > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< bool > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< S > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< T > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< U > > >, olb::MultiConcreteCommunicatable< COMMUNICATEE >, olb::MultiConcreteCommunicatable< BLOCK >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, SOURCE > >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, TARGET > >, olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >, and olb::ConcreteCommunicatable< MultiFieldArrayD< T, DESCRIPTOR, PLATFORM, FIELDS... > >.
|
pure virtual |
Serialize data at locations indices
to buffer
Used for preparing inter-block communication messages
Implemented in olb::ConcreteCommunicatable< std::vector< COLUMN > >, olb::ConcreteCommunicatable< ColumnVector< COLUMN, D > >, olb::ConcreteCommunicatable< cpu::simd::CyclicColumn< T > >, olb::ConcreteCommunicatable< gpu::cuda::Column< T > >, olb::ConcreteCommunicatable< gpu::cuda::CyclicColumn< T > >, olb::ConcreteCommunicatable< COMMUNICATEE >, olb::ConcreteCommunicatable< olb::ColumnVector< olb::cpu::sisd::Column< int >, 1 > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< BaseType > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< bool > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< S > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< T > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< U > > >, olb::MultiConcreteCommunicatable< COMMUNICATEE >, olb::MultiConcreteCommunicatable< BLOCK >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, SOURCE > >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, TARGET > >, olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >, and olb::ConcreteCommunicatable< MultiFieldArrayD< T, DESCRIPTOR, PLATFORM, FIELDS... > >.
Implemented in olb::ConcreteCommunicatable< std::vector< COLUMN > >, olb::ConcreteCommunicatable< ColumnVector< COLUMN, D > >, olb::ConcreteCommunicatable< cpu::simd::CyclicColumn< T > >, olb::ConcreteCommunicatable< gpu::cuda::Column< T > >, olb::ConcreteCommunicatable< gpu::cuda::CyclicColumn< T > >, olb::ConcreteCommunicatable< COMMUNICATEE >, olb::ConcreteCommunicatable< olb::ColumnVector< olb::cpu::sisd::Column< int >, 1 > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< BaseType > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< bool > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< S > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< T > > >, olb::ConcreteCommunicatable< std::vector< olb::cpu::sisd::Column< U > > >, olb::MultiConcreteCommunicatable< COMMUNICATEE >, olb::MultiConcreteCommunicatable< BLOCK >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, SOURCE > >, olb::MultiConcreteCommunicatable< olb::ConcreteBlockLattice< T, DESCRIPTOR, TARGET > >, olb::ConcreteCommunicatable< FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD > >, and olb::ConcreteCommunicatable< MultiFieldArrayD< T, DESCRIPTOR, PLATFORM, FIELDS... > >.