Safe DDS
eprosima::safedds::serialization::cdr::Serializer Class Reference

CDR(Common Data Representation) Serializer implementation. More...

#include <Serializer.hpp>

Public Member Functions

 Serializer (memory::IByteArrayView &buffer, platform::Endianness endianness, XCDRVersion xcdr_version) noexcept
 Serializer constructor. More...
 
 Serializer (platform::Endianness endianness, XCDRVersion xcdr_version) noexcept
 Serializer constructor for emulated serialization. More...
 
virtual ~Serializer () noexcept=default
 Virtual destructor. More...
 
 Serializer (const Serializer &) noexcept=delete
 Copy deleted. More...
 
 Serializer (Serializer &&) noexcept=delete
 Movement deleted. More...
 
Serializeroperator= (const Serializer &) noexcept=delete
 Copy operator deleted. More...
 
Serializeroperator= (Serializer &&) noexcept=delete
 Movement operator deleted due private references. More...
 
ReturnCode serializer_skip (uint32_t size) noexcept override
 Skips slice in serialization process. More...
 
ReturnCode serializer_align_to (uint32_t type_size) noexcept override
 Aligns serializer position. More...
 
uint32_t serializer_remaining_size () noexcept override
 Returns remaining available size of serializer. More...
 
uint32_t serializer_used_size () noexcept override
 Gets serializer used size. More...
 
void reset_alignment () noexcept override
 Resets serializer alignment. More...
 
ReturnCode serialize (char value) noexcept override
 Serialize a single variable, implementations for each supported type: char bool uint8_t uint16_t uint32_t uint64_t int8_t int16_t int32_t int64_t float double. More...
 
ReturnCode serialize (bool value) noexcept override
 Serialize a single bool. More...
 
ReturnCode serialize (uint8_t value) noexcept override
 Serialize a single uint8_t. More...
 
ReturnCode serialize (uint16_t value) noexcept override
 Serialize a single uint16_t. More...
 
ReturnCode serialize (uint32_t value) noexcept override
 Serialize a single uint32_t. More...
 
ReturnCode serialize (uint64_t value) noexcept override
 Serialize a single uint64_t. More...
 
ReturnCode serialize (int8_t value) noexcept override
 Serialize a single int8_t. More...
 
ReturnCode serialize (int16_t value) noexcept override
 Serialize a single int16_t. More...
 
ReturnCode serialize (int32_t value) noexcept override
 Serialize a single int32_t. More...
 
ReturnCode serialize (int64_t value) noexcept override
 Serialize a single int64_t. More...
 
ReturnCode serialize (float value) noexcept override
 Serialize a single float. More...
 
ReturnCode serialize (double value) noexcept override
 Serialize a single double. More...
 
ReturnCode serialize_array (const char *value, uint32_t size) noexcept override
 Serialize array, implementations for each supported type: char bool uint8_t uint16_t uint32_t uint64_t int8_t int16_t int32_t int64_t float double. More...
 
ReturnCode serialize_array (const bool *value, uint32_t size) noexcept override
 Serialize bool array. More...
 
ReturnCode serialize_array (const uint8_t *value, uint32_t size) noexcept override
 Serialize uint8_t array. More...
 
ReturnCode serialize_array (const uint16_t *value, uint32_t size) noexcept override
 Serialize uint16_t array. More...
 
ReturnCode serialize_array (const uint32_t *value, uint32_t size) noexcept override
 Serialize uint32_t array. More...
 
ReturnCode serialize_array (const uint64_t *value, uint32_t size) noexcept override
 Serialize uint64_t array. More...
 
ReturnCode serialize_array (const int8_t *value, uint32_t size) noexcept override
 Serialize int8_t array. More...
 
ReturnCode serialize_array (const int16_t *value, uint32_t size) noexcept override
 Serialize int16_t array. More...
 
ReturnCode serialize_array (const int32_t *value, uint32_t size) noexcept override
 Serialize int32_t array. More...
 
ReturnCode serialize_array (const int64_t *value, uint32_t size) noexcept override
 Serialize int64_t array. More...
 
ReturnCode serialize_array (const float *value, uint32_t size) noexcept override
 Serialize float array. More...
 
ReturnCode serialize_array (const double *value, uint32_t size) noexcept override
 Serialize double array. More...
 
ReturnCode serialize_sequence (const char *value, uint32_t size) noexcept override
 Serialize sequence, implementations for each supported type: char bool uint8_t uint16_t uint32_t uint64_t int8_t int16_t int32_t int64_t float double. More...
 
ReturnCode serialize_sequence (const bool *value, uint32_t size) noexcept override
 Serialize bool sequence. More...
 
ReturnCode serialize_sequence (const uint8_t *value, uint32_t size) noexcept override
 Serialize uint8_t sequence. More...
 
ReturnCode serialize_sequence (const uint16_t *value, uint32_t size) noexcept override
 Serialize uint16_t sequence. More...
 
ReturnCode serialize_sequence (const uint32_t *value, uint32_t size) noexcept override
 Serialize uint32_t sequence. More...
 
ReturnCode serialize_sequence (const uint64_t *value, uint32_t size) noexcept override
 Serialize uint64_t sequence. More...
 
ReturnCode serialize_sequence (const int8_t *value, uint32_t size) noexcept override
 Serialize int8_t sequence. More...
 
ReturnCode serialize_sequence (const int16_t *value, uint32_t size) noexcept override
 Serialize int16_t sequence. More...
 
ReturnCode serialize_sequence (const int32_t *value, uint32_t size) noexcept override
 Serialize int32_t sequence. More...
 
ReturnCode serialize_sequence (const int64_t *value, uint32_t size) noexcept override
 Serialize int64_t sequence. More...
 
ReturnCode serialize_sequence (const float *value, uint32_t size) noexcept override
 Serialize float sequence. More...
 
ReturnCode serialize_sequence (const double *value, uint32_t size) noexcept override
 Serialize double sequence. More...
 

Protected Member Functions

ReturnCode serialize (const uint8_t *bytes, uint32_t type_size) noexcept
 Serialize a single value. More...
 
ReturnCode serialize_array (const uint8_t *bytes, uint32_t size, uint32_t type_size) noexcept
 Serialize array. More...
 
ReturnCode serialize_sequence (const uint8_t *bytes, uint32_t size, uint32_t type_size) noexcept
 Serialize sequence. More...
 
void perform_serialization (const uint8_t *bytes, uint32_t num_bytes, uint32_t padding) noexcept
 Serialize data into internal buffer. More...
 
void perform_serialization_no_native (const uint8_t *bytes, uint32_t num_bytes, uint32_t endianness_group, uint32_t padding) noexcept
 Serialize data into internal buffer without using native endianness. More...
 
uint32_t buffer_size () const noexcept
 Get inner buffer size. More...
 
uint32_t xcdr_padding_needed (uint32_t pos, uint32_t size) noexcept
 Gets the padding needed to align an element given the current position, its size and the serializer XCDR version. More...
 
- Protected Member Functions inherited from eprosima::safedds::serialization::ISerializer
 ~ISerializer () noexcept=default
 Protected destructor ownership defined on creation. More...
 
 ISerializer () noexcept=default
 Default creation. More...
 
 ISerializer (const ISerializer &) noexcept=delete
 Copy deleted. More...
 
 ISerializer (ISerializer &&) noexcept=delete
 Movement deleted. More...
 
ISerializeroperator= (const ISerializer &) noexcept=delete
 Copy operator deleted. More...
 
ISerializeroperator= (ISerializer &&) noexcept=delete
 Movement operator deleted. More...
 

Protected Attributes

memory::IByteArrayViewbuffer_
 Internal buffer view. More...
 
uint32_t position_ = 0
 Position in the view. More...
 
uint32_t alignment_position_ = 0
 Alignment position. More...
 
bool native_endianness_ = true
 Working on native endianness. More...
 
XCDRVersion xcdr_version_ = XCDRVersion::XCDRV1
 XCDR version to use. More...
 
bool emulated_serialization_ = false
 Emulated serialization flag. More...
 
memory::byte_array::ByteArrayView emulated_buffer_
 Emulated serialization buffer. More...
 

Detailed Description

CDR(Common Data Representation) Serializer implementation.

Note
This is a Plain CDR serializer

Constructor & Destructor Documentation

◆ Serializer() [1/4]

eprosima::safedds::serialization::cdr::Serializer::Serializer ( memory::IByteArrayView buffer,
platform::Endianness  endianness,
XCDRVersion  xcdr_version 
)
explicitnoexcept

Serializer constructor.

Parameters
[in,out]bufferview of the serialization buffer. Ownership is not taken.
endiannessendianness to use.
xcdr_versionXCDR version to use.

◆ Serializer() [2/4]

eprosima::safedds::serialization::cdr::Serializer::Serializer ( platform::Endianness  endianness,
XCDRVersion  xcdr_version 
)
explicitnoexcept

Serializer constructor for emulated serialization.

Parameters
endiannessendianness to use.
xcdr_versionXCDR version to use.

◆ ~Serializer()

virtual eprosima::safedds::serialization::cdr::Serializer::~Serializer ( )
virtualdefaultnoexcept

Virtual destructor.

◆ Serializer() [3/4]

eprosima::safedds::serialization::cdr::Serializer::Serializer ( const Serializer )
deletenoexcept

Copy deleted.

◆ Serializer() [4/4]

eprosima::safedds::serialization::cdr::Serializer::Serializer ( Serializer &&  )
deletenoexcept

Movement deleted.

Member Function Documentation

◆ buffer_size()

uint32_t eprosima::safedds::serialization::cdr::Serializer::buffer_size ( ) const
protectednoexcept

Get inner buffer size.

Returns
size of the buffer.

◆ operator=() [1/2]

Serializer& eprosima::safedds::serialization::cdr::Serializer::operator= ( const Serializer )
deletenoexcept

Copy operator deleted.

◆ operator=() [2/2]

Serializer& eprosima::safedds::serialization::cdr::Serializer::operator= ( Serializer &&  )
deletenoexcept

Movement operator deleted due private references.

◆ perform_serialization()

void eprosima::safedds::serialization::cdr::Serializer::perform_serialization ( const uint8_t *  bytes,
uint32_t  num_bytes,
uint32_t  padding 
)
protectednoexcept

Serialize data into internal buffer.

Parameters
bytespointer to data to serialize.
num_bytessize of the data that is going to be serialized.
paddingpadding to add before serializing the data.

◆ perform_serialization_no_native()

void eprosima::safedds::serialization::cdr::Serializer::perform_serialization_no_native ( const uint8_t *  bytes,
uint32_t  num_bytes,
uint32_t  endianness_group,
uint32_t  padding 
)
protectednoexcept

Serialize data into internal buffer without using native endianness.

Parameters
bytespointer to data to serialize.
num_bytessize of the data that is going to be serialized.
endianness_groupendianness group to use.
paddingpadding to add before serializing the data.

◆ reset_alignment()

void eprosima::safedds::serialization::cdr::Serializer::reset_alignment ( )
overridevirtualnoexcept

Resets serializer alignment.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [1/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( bool  value)
overridevirtualnoexcept

Serialize a single bool.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [2/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( char  value)
overridevirtualnoexcept

Serialize a single variable, implementations for each supported type: char bool uint8_t uint16_t uint32_t uint64_t int8_t int16_t int32_t int64_t float double.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [3/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( const uint8_t *  bytes,
uint32_t  type_size 
)
protectednoexcept

Serialize a single value.

Parameters
bytespointer to value.
type_sizetype size of the value.
Returns
ReturnCode

◆ serialize() [4/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( double  value)
overridevirtualnoexcept

Serialize a single double.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [5/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( float  value)
overridevirtualnoexcept

Serialize a single float.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [6/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( int16_t  value)
overridevirtualnoexcept

Serialize a single int16_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [7/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( int32_t  value)
overridevirtualnoexcept

Serialize a single int32_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [8/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( int64_t  value)
overridevirtualnoexcept

Serialize a single int64_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [9/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( int8_t  value)
overridevirtualnoexcept

Serialize a single int8_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [10/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( uint16_t  value)
overridevirtualnoexcept

Serialize a single uint16_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [11/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( uint32_t  value)
overridevirtualnoexcept

Serialize a single uint32_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [12/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( uint64_t  value)
overridevirtualnoexcept

Serialize a single uint64_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize() [13/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize ( uint8_t  value)
overridevirtualnoexcept

Serialize a single uint8_t.

Parameters
valuevariable to serialize.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [1/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const bool *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize bool array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [2/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const char *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize array, implementations for each supported type: char bool uint8_t uint16_t uint32_t uint64_t int8_t int16_t int32_t int64_t float double.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [3/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const double *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize double array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [4/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const float *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize float array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [5/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const int16_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int16_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [6/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const int32_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int32_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [7/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const int64_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int64_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [8/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const int8_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int8_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [9/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const uint16_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint16_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [10/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const uint32_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint32_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [11/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const uint64_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint64_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_array() [12/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const uint8_t *  bytes,
uint32_t  size,
uint32_t  type_size 
)
protectednoexcept

Serialize array.

Parameters
bytespointer to array to serialize.
sizesize of the array that is going to be serialized.
type_sizetype size of each value in the array.
Returns
ReturnCode

◆ serialize_array() [13/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_array ( const uint8_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint8_t array.

Parameters
[in]valuepointer to array to serialize.
sizesize of the array that is going to be serialized.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [1/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const bool *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize bool sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [2/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const char *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize sequence, implementations for each supported type: char bool uint8_t uint16_t uint32_t uint64_t int8_t int16_t int32_t int64_t float double.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [3/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const double *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize double sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [4/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const float *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize float sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [5/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const int16_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int16_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [6/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const int32_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int32_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [7/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const int64_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int64_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [8/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const int8_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize int8_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [9/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const uint16_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint16_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [10/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const uint32_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint32_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [11/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const uint64_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint64_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serialize_sequence() [12/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const uint8_t *  bytes,
uint32_t  size,
uint32_t  type_size 
)
protectednoexcept

Serialize sequence.

Parameters
bytespointer to sequence to serialize.
type_sizetype size of each value in the sequence.
sizesize of the sequence that is serialized.
Returns
ReturnCode

◆ serialize_sequence() [13/13]

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serialize_sequence ( const uint8_t *  value,
uint32_t  size 
)
overridevirtualnoexcept

Serialize uint8_t sequence.

Parameters
[in]valuepointer to sequence to serialize.
sizeserialized size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serializer_align_to()

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serializer_align_to ( uint32_t  type_size)
overridevirtualnoexcept

Aligns serializer position.

Parameters
type_sizetype size.
Returns
ReturnCode.

Implements eprosima::safedds::serialization::ISerializer.

◆ serializer_remaining_size()

uint32_t eprosima::safedds::serialization::cdr::Serializer::serializer_remaining_size ( )
overridevirtualnoexcept

Returns remaining available size of serializer.

Returns
Remaining size.

Implements eprosima::safedds::serialization::ISerializer.

◆ serializer_skip()

ReturnCode eprosima::safedds::serialization::cdr::Serializer::serializer_skip ( uint32_t  size)
overridevirtualnoexcept

Skips slice in serialization process.

Parameters
sizesize to skip
Returns
ReturnCode

Implements eprosima::safedds::serialization::ISerializer.

◆ serializer_used_size()

uint32_t eprosima::safedds::serialization::cdr::Serializer::serializer_used_size ( )
overridevirtualnoexcept

Gets serializer used size.

Returns
Used size.

Implements eprosima::safedds::serialization::ISerializer.

◆ xcdr_padding_needed()

uint32_t eprosima::safedds::serialization::cdr::Serializer::xcdr_padding_needed ( uint32_t  pos,
uint32_t  size 
)
protectednoexcept

Gets the padding needed to align an element given the current position, its size and the serializer XCDR version.

Parameters
posposition of the value.
sizesize, size MUST be power of 2.
Returns
padding.

Member Data Documentation

◆ alignment_position_

uint32_t eprosima::safedds::serialization::cdr::Serializer::alignment_position_ = 0
protected

Alignment position.

◆ buffer_

memory::IByteArrayView& eprosima::safedds::serialization::cdr::Serializer::buffer_
protected

Internal buffer view.

◆ emulated_buffer_

memory::byte_array::ByteArrayView eprosima::safedds::serialization::cdr::Serializer::emulated_buffer_
protected

Emulated serialization buffer.

◆ emulated_serialization_

bool eprosima::safedds::serialization::cdr::Serializer::emulated_serialization_ = false
protected

Emulated serialization flag.

◆ native_endianness_

bool eprosima::safedds::serialization::cdr::Serializer::native_endianness_ = true
protected

Working on native endianness.

◆ position_

uint32_t eprosima::safedds::serialization::cdr::Serializer::position_ = 0
protected

Position in the view.

◆ xcdr_version_

XCDRVersion eprosima::safedds::serialization::cdr::Serializer::xcdr_version_ = XCDRVersion::XCDRV1
protected

XCDR version to use.


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