OpenM++ runtime library (libopenm)
openm::MetaMpiPackedAdapter< rowMsgTag, TRow > Struct Template Reference

MPI-based adapter to pack and unpack vector of metadata db rows. More...

#include <msgMpiPacked.h>

Inheritance diagram for openm::MetaMpiPackedAdapter< rowMsgTag, TRow >:
Collaboration diagram for openm::MetaMpiPackedAdapter< rowMsgTag, TRow >:

Public Member Functions

MsgTag tag (void) const noexcept override
 return message tag More...
 
const vector< uint8_t > pack (const IRowBaseVec &i_rowVec) const override
 pack vector of metadata db rows into byte vector. More...
 
void unpackTo (int i_packSize, void *i_packedData, IRowBaseVec &io_rowVec) const override
 unpack from byte[] message bufer into vector of metadata db rows. More...
 
virtual MsgTag tag (void) const noexcept=0
 return message tag More...
 
virtual const vector< uint8_t > pack (const IRowBaseVec &i_rowVec) const =0
 pack vector of db rows into byte vector. More...
 
virtual void unpackTo (int i_packSize, void *i_packedData, IRowBaseVec &io_rowVec) const =0
 unpack from byte[] into vector of rows. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from openm::IPackedAdapter
static IPackedAdaptercreate (MsgTag i_msgTag)
 pack adapter factory: create new adapter for metadata table db rows. More...
 
static size_t packedSize (const type_info &i_type, size_t i_size)
 return byte size to pack source array. More...
 
static unique_ptr< uint8_t[]> packArray (const type_info &i_type, size_t i_size, void *i_valueArr)
 return new allocated and packed copy of source array. More...
 

Detailed Description

template<MsgTag rowMsgTag, typename TRow>
struct openm::MetaMpiPackedAdapter< rowMsgTag, TRow >

MPI-based adapter to pack and unpack vector of metadata db rows.

Template Parameters
rowMsgTagmessage tag for this type of metadata db row.
TRowtype of metadata db row.

Member Function Documentation

◆ pack()

template<MsgTag rowMsgTag, typename TRow >
const vector< uint8_t > openm::MetaMpiPackedAdapter< rowMsgTag, TRow >::pack ( const IRowBaseVec i_rowVec) const
inlineoverridevirtual

pack vector of metadata db rows into byte vector.

Parameters
[in]i_rowVecsource vector of metadata db rows

Implements openm::IPackedAdapter.

◆ tag()

template<MsgTag rowMsgTag, typename TRow >
MsgTag openm::MetaMpiPackedAdapter< rowMsgTag, TRow >::tag ( void  ) const
inlineoverridevirtualnoexcept

return message tag

Implements openm::IPackedAdapter.

◆ unpackTo()

template<MsgTag rowMsgTag, typename TRow >
void openm::MetaMpiPackedAdapter< rowMsgTag, TRow >::unpackTo ( int  i_packSize,
void *  i_packedData,
IRowBaseVec io_rowVec 
) const
inlineoverridevirtual

unpack from byte[] message bufer into vector of metadata db rows.

Parameters
[in]i_packSizetotal size in bytes of i_packedData buffer
[in]i_packedDatasource MPI message buffer to unpack
[in,out]io_rowVecdestination vector to append metadata db rows

Implements openm::IPackedAdapter.


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