jaffarCommon
Loading...
Searching...
No Matches
Public Member Functions | List of all members
jaffarCommon::deserializer::Contiguous Class Referencefinal

#include <contiguous.hpp>

Inheritance diagram for jaffarCommon::deserializer::Contiguous:
Inheritance graph
[legend]
Collaboration diagram for jaffarCommon::deserializer::Contiguous:
Collaboration graph
[legend]

Public Member Functions

 Contiguous (const void *__restrict inputDataBuffer=nullptr, const size_t inputDataBufferSize=std::numeric_limits< uint32_t >::max())
 
__JAFFAR_COMMON__INLINE__ void popContiguous (void *const __restrict outputDataBuffer, const size_t count) override
 
__JAFFAR_COMMON__INLINE__ void pop (void *const __restrict outputDataBuffer, const size_t count) override
 
- Public Member Functions inherited from jaffarCommon::deserializer::Base
 Base (const void *__restrict inputDataBuffer, const size_t inputDataBufferSize)
 
__JAFFAR_COMMON__INLINE__ size_t getInputSize () const
 
__JAFFAR_COMMON__INLINE__ const uint8_t * getInputDataBuffer () const
 

Additional Inherited Members

- Protected Attributes inherited from jaffarCommon::deserializer::Base
const uint8_t *__restrict const _inputDataBuffer
 
const size_t _inputDataBufferSize
 
size_t _inputDataBufferPos = 0
 

Detailed Description

The contiguous deserialization class assumes that both the input buffer and output elements are contiguous and haven't been through any compression.

Constructor & Destructor Documentation

◆ Contiguous()

jaffarCommon::deserializer::Contiguous::Contiguous ( const void *__restrict  inputDataBuffer = nullptr,
const size_t  inputDataBufferSize = std::numeric_limits<uint32_t>::max() 
)
inline

Default constructor for the contiguous deserializer class

Parameters
[in]inputDataBufferThe input buffer from whence to read the input data
[in]inputDataBufferSizeThe size of the input buffer

Member Function Documentation

◆ pop()

__JAFFAR_COMMON__INLINE__ void jaffarCommon::deserializer::Contiguous::pop ( void *const __restrict  outputDataBuffer,
const size_t  outputDataBufferSize 
)
inlineoverridevirtual

Deserializes the specified number of bytes onto the output data buffer, popping the information from the input buffer

Note
The input buffer may be compressed or non-contiguous
Parameters
[out]outputDataBufferThe contiguous output buffer onto which to deserialize.
[in]outputDataBufferSizeThe number of bytes to save onto the output buffer

Implements jaffarCommon::deserializer::Base.

◆ popContiguous()

__JAFFAR_COMMON__INLINE__ void jaffarCommon::deserializer::Contiguous::popContiguous ( void *const __restrict  outputDataBuffer,
const size_t  outputDataBufferSize 
)
inlineoverridevirtual

Deserializes the specified number of contiguous bytes onto the output data buffer, popping the information from the input buffer

Note
This function forces the treatment of the input and output as uncompressed contiguous buffers
Parameters
[out]outputDataBufferThe contiguous output buffer onto which to deserialize
[in]outputDataBufferSizeThe number of bytes to save onto the output buffer

Implements jaffarCommon::deserializer::Base.


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