| Fast CDR Version 2.3.6 Fast CDR

Loading...
Searching...
No Matches
CdrSizeCalculator Class Reference
FastCDR Serializer API Reference

This class offers an interface to calculate the encoded size of a type serialized using a support encoding algorithm. More...

`#include <CdrSizeCalculator.hpp>`

## Public Member Functions

Cdr_DllAPI | CdrSizeCalculator (CdrVersion cdr_version)
| Constructor.
Cdr_DllAPI | CdrSizeCalculator (CdrVersion cdr_version, EncodingAlgorithmFlag encoding)
| Constructor.
Cdr_DllAPI CdrVersion | get_cdr_version () const
| Retrieves the version of the encoding algorithm used by the instance.
Cdr_DllAPI EncodingAlgorithmFlag | get_encoding () const
| Retrieves the current encoding algorithm used by the instance.
template<class _T, typename std::enable_if<!std::is_enum< _T >::value >::type * = nullptr, typename = void>
size_t | calculate_serialized_size (const _T &data, size_t &current_alignment)
| Generic template which calculates the encoded size of an instance of an unknown type.
template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, int32_t >::value >::type * = nullptr>
size_t | calculate_serialized_size (const _T &data, size_t &current_alignment)
| Template which calculates the encoded size of an instance of an enumeration of 32bits.
template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, uint32_t >::value >::type * = nullptr>
size_t | calculate_serialized_size (const _T &data, size_t &current_alignment)
| Template which calculates the encoded size of an instance of an enumeration of unsigned 32bits.
template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, int16_t >::value >::type * = nullptr>
size_t | calculate_serialized_size (const _T &data, size_t &current_alignment)
| Template which calculates the encoded size of an instance of an enumeration of 16bits.
template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, uint16_t >::value >::type * = nullptr>
size_t | calculate_serialized_size (const _T &data, size_t &current_alignment)
| Template which calculates the encoded size of an instance of an enumeration of unsigned 16bits.
template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, int8_t >::value >::type * = nullptr>
size_t | calculate_serialized_size (const _T &data, size_t &current_alignment)
| Template which calculates the encoded size of an instance of an enumeration of 8bits.
template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, uint8_t >::value >::type * = nullptr>
size_t | calculate_serialized_size (const _T &data, size_t &current_alignment)
| Template which calculates the encoded size of an instance of an enumeration of unsigned 8bits.
TEMPLATE_SPEC size_t | calculate_serialized_size (const int8_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an int8_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const uint8_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an uint8_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const char &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a char.
TEMPLATE_SPEC size_t | calculate_serialized_size (const bool &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a bool.
TEMPLATE_SPEC size_t | calculate_serialized_size (const wchar_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a wchar.
TEMPLATE_SPEC size_t | calculate_serialized_size (const int16_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a int16_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const uint16_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a uint16_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const int32_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a int32_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const uint32_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a uint32_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const int64_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a int64_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const uint64_t &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a uint64_t.
TEMPLATE_SPEC size_t | calculate_serialized_size (const float &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a float.
TEMPLATE_SPEC size_t | calculate_serialized_size (const double &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a double.
TEMPLATE_SPEC size_t | calculate_serialized_size (const long double &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a long double.
TEMPLATE_SPEC size_t | calculate_serialized_size (const std::string &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a std::string.
TEMPLATE_SPEC size_t | calculate_serialized_size (const std::wstring &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a std::wstring.
template<size_t MAX_CHARS>
size_t | calculate_serialized_size (const fixed_string< MAX_CHARS > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a fixed_string.
template<class _T, typename std::enable_if<!std::is_enum< _T >::value &&!std::is_arithmetic< _T >::value >::type * = nullptr>
size_t | calculate_serialized_size (const std::vector< _T > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a sequence of non-primitives.
template<class _T, typename std::enable_if< std::is_enum< _T >::value||std::is_arithmetic< _T >::value >::type * = nullptr>
size_t | calculate_serialized_size (const std::vector< _T > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a sequence of primitives.
TEMPLATE_SPEC size_t | calculate_serialized_size (const std::vector< bool > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a sequence of bool.
template<class _T, size_t _Size>
size_t | calculate_serialized_size (const std::array< _T, _Size > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array.
template<class _K, class _V, typename std::enable_if<!std::is_enum< _V >::value &&!std::is_arithmetic< _V >::value >::type * = nullptr>
size_t | calculate_serialized_size (const std::map< _K, _V > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a map of non-primitives.
template<class _K, class _V, typename std::enable_if< std::is_enum< _V >::value||std::is_arithmetic< _V >::value >::type * = nullptr>
size_t | calculate_serialized_size (const std::map< _K, _V > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a map of primitives.
template<size_t N, typename std::enable_if<(N< 9) > ::type * = nullptr>
size_t | calculate_serialized_size (const std::bitset< N > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a bitset of 8bits.
template<size_t N, typename std::enable_if<(8< N &&N< 17) > ::type * = nullptr>
size_t | calculate_serialized_size (const std::bitset< N > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a bitset of 16bits.
template<size_t N, typename std::enable_if<(16< N &&N< 33) > ::type * = nullptr>
size_t | calculate_serialized_size (const std::bitset< N > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a bitset of 32bits.
template<size_t N, typename std::enable_if<(32< N &&N< 65) > ::type * = nullptr>
size_t | calculate_serialized_size (const std::bitset< N > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a bitset of 64bits.
template<class _T>
size_t | calculate_serialized_size (const optional< _T > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an optional type.
template<class _T>
size_t | calculate_serialized_size (const external< _T > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an external type.
template<class _T>
size_t | calculate_array_serialized_size (const _T *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of unknown type.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const int8_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of int8_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const uint8_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of uint8_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const char *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of char.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const wchar_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of wchar.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const int16_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of int16_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const uint16_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of uint16_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const int32_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of int32_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const uint32_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of uint32_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const int64_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of int64_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const uint64_t *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of uint64_t.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const float *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of float.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const double *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of double.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const long double *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of an array of long double.
template<class _T, size_t _N>
size_t | calculate_array_serialized_size (const std::array< _T, _N > *data, size_t num_elements, size_t &current_alignment)
| Specific template which calculates the encoded size of an instance of a multi-dimensional array.
template<class _T, typename std::enable_if< std::is_enum< _T >::value||std::is_arithmetic< _T >::value >::type * = nullptr>
size_t | calculate_array_serialized_size (const std::vector< _T > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an std::vector of primitives as an array.
template<class _T, typename std::enable_if<!std::is_enum< _T >::value &&!std::is_arithmetic< _T >::value >::type * = nullptr>
size_t | calculate_array_serialized_size (const std::vector< _T > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an std::vector of non-primitives as an array.
TEMPLATE_SPEC size_t | calculate_array_serialized_size (const std::vector< bool > &data, size_t &current_alignment)
| Specific template which calculates the encoded size of an std::vector of bool as an array.
template<class _T>
size_t | calculate_member_serialized_size (const MemberId &id, const _T &data, size_t &current_alignment)
| Generic template which calculates the encoded size of the constructed type's member of a unknown type.
template<class _T>
size_t | calculate_member_serialized_size (const MemberId &id, const optional< _T > &data, size_t &current_alignment)
| Generic template which calculates the encoded size of the constructed type's member of type optional.
Cdr_DllAPI size_t | begin_calculate_type_serialized_size (EncodingAlgorithmFlag new_encoding, size_t &current_alignment)
| Indicates a new constructed type will be calculated.
Cdr_DllAPI size_t | end_calculate_type_serialized_size (EncodingAlgorithmFlag new_encoding, size_t &current_alignment)
| Indicates the ending of a constructed type.

## Detailed Description

This class offers an interface to calculate the encoded size of a type serialized using a support encoding algorithm.

## Constructor & Destructor Documentation

## ◆ CdrSizeCalculator() [1/2]

Cdr_DllAPI CdrSizeCalculator | ( | CdrVersion | cdr_version | ) |

Constructor.

Parameters

  [in] | cdr_version | Represents the version of the encoding algorithm that will be used for the encoding. The default value is CdrVersion::XCDRv2.

## ◆ CdrSizeCalculator() [2/2]

Cdr_DllAPI CdrSizeCalculator | ( | CdrVersion | cdr_version,
|  | EncodingAlgorithmFlag | encoding )

Constructor.

Parameters

  [in] | cdr_version | Represents the version of the encoding algorithm that will be used for the encoding. The default value is CdrVersion::XCDRv2.
  [in] | encoding | Represents the initial encoding.

## Member Function Documentation

## ◆ begin_calculate_type_serialized_size()

Cdr_DllAPI size_t begin_calculate_type_serialized_size | ( | EncodingAlgorithmFlag | new_encoding,
|  | size_t & | current_alignment )

Indicates a new constructed type will be calculated.

Parameters

  [in] | new_encoding | New encoding algorithm used for the constructed type.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  If new encoding algorithm encodes a header, return the encoded size of it.

## ◆ calculate_array_serialized_size() [1/18]

template<class _T>

size_t calculate_array_serialized_size | ( | const _T * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of unknown type.

Template Parameters

  _T | Array's type.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [2/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const char * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of char.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [3/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const double * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of double.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [4/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const float * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of float.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [5/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const int16_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of int16_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [6/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const int32_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of int32_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [7/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const int64_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of int64_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [8/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const int8_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of int8_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [9/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const long double * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of long double.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [10/18]

template<class _T, size_t _N>

size_t calculate_array_serialized_size | ( | const std::array< _T, _N > * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a multi-dimensional array.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [11/18]

template<class _T, typename std::enable_if<!std::is_enum< _T >::value &&!std::is_arithmetic< _T >::value >::type * = nullptr>

size_t calculate_array_serialized_size | ( | const std::vector< _T > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an std::vector of non-primitives as an array.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [12/18]

template<class _T, typename std::enable_if< std::is_enum< _T >::value||std::is_arithmetic< _T >::value >::type * = nullptr>

size_t calculate_array_serialized_size | ( | const std::vector< _T > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an std::vector of primitives as an array.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [13/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const std::vector< bool > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an std::vector of bool as an array.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [14/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const uint16_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of uint16_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [15/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const uint32_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of uint32_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [16/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const uint64_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of uint64_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [17/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const uint8_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of uint8_t.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_array_serialized_size() [18/18]

TEMPLATE_SPEC size_t calculate_array_serialized_size | ( | const wchar_t * | data,
|  | size_t | num_elements,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array of wchar.

Parameters

  [in] | data | Reference to the array's instance.
  [in] | num_elements | Number of elements in the array.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_member_serialized_size() [1/2]

template<class _T>

size_t calculate_member_serialized_size | ( | const MemberId & | id,
|  | const _T & | data,
|  | size_t & | current_alignment )

inline

Generic template which calculates the encoded size of the constructed type's member of a unknown type.

Template Parameters

  _T | Member's type.

Parameters

  [in] | id | Member's identifier.
  [in] | data | Reference to the member's instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the member's instance.

## ◆ calculate_member_serialized_size() [2/2]

template<class _T>

size_t calculate_member_serialized_size | ( | const MemberId & | id,
|  | const optional< _T > & | data,
|  | size_t & | current_alignment )

inline

Generic template which calculates the encoded size of the constructed type's member of type optional.

Template Parameters

  _T | Member's optional type.

Parameters

  [in] | id | Member's identifier.
  [in] | data | Reference to the member's instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the member's instance.

## ◆ calculate_serialized_size() [1/36]

template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, uint8_t >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const _T & | data,
|  | size_t & | current_alignment )

inline

Template which calculates the encoded size of an instance of an enumeration of unsigned 8bits.

Template Parameters

  _T | Instance's type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [2/36]

template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, int8_t >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const _T & | data,
|  | size_t & | current_alignment )

inline

Template which calculates the encoded size of an instance of an enumeration of 8bits.

Template Parameters

  _T | Instance's type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [3/36]

template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, uint16_t >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const _T & | data,
|  | size_t & | current_alignment )

inline

Template which calculates the encoded size of an instance of an enumeration of unsigned 16bits.

Template Parameters

  _T | Instance's type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [4/36]

template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, int16_t >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const _T & | data,
|  | size_t & | current_alignment )

inline

Template which calculates the encoded size of an instance of an enumeration of 16bits.

Template Parameters

  _T | Instance's type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [5/36]

template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, uint32_t >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const _T & | data,
|  | size_t & | current_alignment )

inline

Template which calculates the encoded size of an instance of an enumeration of unsigned 32bits.

Template Parameters

  _T | Instance's type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [6/36]

template<class _T, typename std::enable_if< std::is_enum< _T >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename std::underlying_type< _T >::type, int32_t >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const _T & | data,
|  | size_t & | current_alignment )

inline

Template which calculates the encoded size of an instance of an enumeration of 32bits.

Template Parameters

  _T | Instance's type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [7/36]

template<class _T, typename std::enable_if<!std::is_enum< _T >::value >::type * = nullptr, typename = void>

size_t calculate_serialized_size | ( | const _T & | data,
|  | size_t & | current_alignment )

inline

Generic template which calculates the encoded size of an instance of an unknown type.

Template Parameters

  _T | Instance's type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [8/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const bool & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a bool.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [9/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const char & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a char.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [10/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const double & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a double.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [11/36]

template<class _T>

size_t calculate_serialized_size | ( | const external< _T > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an external type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Exceptions

  exception::BadParamException | This exception is thrown when the external is null.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [12/36]

template<size_t MAX_CHARS>

size_t calculate_serialized_size | ( | const fixed_string< MAX_CHARS > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a fixed_string.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [13/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const float & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a float.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [14/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const int16_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a int16_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [15/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const int32_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a int32_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [16/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const int64_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a int64_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [17/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const int8_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an int8_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [18/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const long double & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a long double.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [19/36]

template<class _T>

size_t calculate_serialized_size | ( | const optional< _T > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an optional type.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [20/36]

template<class _T, size_t _Size>

size_t calculate_serialized_size | ( | const std::array< _T, _Size > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an array.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [21/36]

template<size_t N, typename std::enable_if<(32< N &&N< 65) > ::type * = nullptr>

size_t calculate_serialized_size | ( | const std::bitset< N > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a bitset of 64bits.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [22/36]

template<size_t N, typename std::enable_if<(16< N &&N< 33) > ::type * = nullptr>

size_t calculate_serialized_size | ( | const std::bitset< N > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a bitset of 32bits.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [23/36]

template<size_t N, typename std::enable_if<(8< N &&N< 17) > ::type * = nullptr>

size_t calculate_serialized_size | ( | const std::bitset< N > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a bitset of 16bits.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [24/36]

template<size_t N, typename std::enable_if<(N< 9) > ::type * = nullptr>

size_t calculate_serialized_size | ( | const std::bitset< N > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a bitset of 8bits.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [25/36]

template<class _K, class _V, typename std::enable_if< std::is_enum< _V >::value||std::is_arithmetic< _V >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const std::map< _K, _V > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a map of primitives.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [26/36]

template<class _K, class _V, typename std::enable_if<!std::is_enum< _V >::value &&!std::is_arithmetic< _V >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const std::map< _K, _V > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a map of non-primitives.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [27/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const std::string & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a std::string.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [28/36]

template<class _T, typename std::enable_if< std::is_enum< _T >::value||std::is_arithmetic< _T >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const std::vector< _T > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a sequence of primitives.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [29/36]

template<class _T, typename std::enable_if<!std::is_enum< _T >::value &&!std::is_arithmetic< _T >::value >::type * = nullptr>

size_t calculate_serialized_size | ( | const std::vector< _T > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a sequence of non-primitives.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [30/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const std::vector< bool > & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a sequence of bool.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [31/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const std::wstring & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a std::wstring.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [32/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const uint16_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a uint16_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [33/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const uint32_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a uint32_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [34/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const uint64_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a uint64_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [35/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const uint8_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of an uint8_t.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ calculate_serialized_size() [36/36]

TEMPLATE_SPEC size_t calculate_serialized_size | ( | const wchar_t & | data,
|  | size_t & | current_alignment )

inline

Specific template which calculates the encoded size of an instance of a wchar.

Parameters

  [in] | data | Reference to the instance.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  Encoded size of the instance.

## ◆ end_calculate_type_serialized_size()

Cdr_DllAPI size_t end_calculate_type_serialized_size | ( | EncodingAlgorithmFlag | new_encoding,
|  | size_t & | current_alignment )

Indicates the ending of a constructed type.

Parameters

  [in] | new_encoding | New encoding algorithm used after the constructed type.
  [in,out] | current_alignment | Current alignment in the encoding.

Returns
  If current encoding algorithm encodes a final mark, return the encoded size of it.

## ◆ get_cdr_version()

Cdr_DllAPI CdrVersion get_cdr_version | ( |  | ) | const

Retrieves the version of the encoding algorithm used by the instance.

Returns
  Configured CdrVersion.

## ◆ get_encoding()

Cdr_DllAPI EncodingAlgorithmFlag get_encoding | ( |  | ) | const

Retrieves the current encoding algorithm used by the instance.

Returns
  Configured EncodingAlgorithmFlag.

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

- include/fastcdr/CdrSizeCalculator.hpp