// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*!
 * @file arraysCdrAux.hpp
 * This source file contains some definitions of CDR related functions.
 *
 * This file was generated by the tool fastddsgen (version: 4.1.0).
 */

#ifndef FAST_DDS_GENERATED__ARRAYSCDRAUX_HPP
#define FAST_DDS_GENERATED__ARRAYSCDRAUX_HPP

#include "arrays.hpp"
constexpr uint32_t ArrayMultiDimensionULongLong_max_cdr_typesize {8008UL};
constexpr uint32_t ArrayMultiDimensionULongLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsBitMask_max_cdr_typesize {48UL};
constexpr uint32_t ArraySingleDimensionLiteralsBitMask_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsEnum_max_cdr_typesize {2004UL};
constexpr uint32_t ArrayMultiDimensionLiteralsEnum_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsStructure_max_cdr_typesize {68UL};
constexpr uint32_t ArraySingleDimensionLiteralsStructure_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayStructure_max_cdr_typesize {128UL};
constexpr uint32_t ArrayStructure_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionSequence_max_cdr_typesize {4008UL};
constexpr uint32_t ArrayMultiDimensionSequence_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionBoolean_max_cdr_typesize {1004UL};
constexpr uint32_t ArrayMultiDimensionBoolean_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionBitset_max_cdr_typesize {8008UL};
constexpr uint32_t ArrayMultiDimensionBitset_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsDouble_max_cdr_typesize {2008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsDouble_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsAlias_max_cdr_typesize {4004UL};
constexpr uint32_t ArrayMultiDimensionLiteralsAlias_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsWChar_max_cdr_typesize {1004UL};
constexpr uint32_t ArrayMultiDimensionLiteralsWChar_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsBitSet_max_cdr_typesize {8008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsBitSet_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionUnion_max_cdr_typesize {12008UL};
constexpr uint32_t ArrayMultiDimensionUnion_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionChar_max_cdr_typesize {1004UL};
constexpr uint32_t ArrayMultiDimensionChar_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayShort_max_cdr_typesize {24UL};
constexpr uint32_t ArrayShort_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsUnsignedLongLong_max_cdr_typesize {88UL};
constexpr uint32_t ArraySingleDimensionLiteralsUnsignedLongLong_max_key_cdr_typesize {0UL};


constexpr uint32_t ArrayMultiDimensionLiteralsBoolean_max_cdr_typesize {254UL};
constexpr uint32_t ArrayMultiDimensionLiteralsBoolean_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsStructure_max_cdr_typesize {3008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsStructure_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayLong_max_cdr_typesize {44UL};
constexpr uint32_t ArrayLong_max_key_cdr_typesize {0UL};


constexpr uint32_t ArraySingleDimensionLiteralsLongDouble_max_cdr_typesize {168UL};
constexpr uint32_t ArraySingleDimensionLiteralsLongDouble_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsSequence_max_cdr_typesize {28UL};
constexpr uint32_t ArraySingleDimensionLiteralsSequence_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayBitMask_max_cdr_typesize {48UL};
constexpr uint32_t ArrayBitMask_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionWString_max_cdr_typesize {516006UL};
constexpr uint32_t ArrayMultiDimensionWString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayULong_max_cdr_typesize {44UL};
constexpr uint32_t ArrayULong_max_key_cdr_typesize {0UL};


constexpr uint32_t ArrayString_max_cdr_typesize {2608UL};
constexpr uint32_t ArrayString_max_key_cdr_typesize {0UL};




constexpr uint32_t ArraySingleDimensionLiteralsUnion_max_cdr_typesize {128UL};
constexpr uint32_t ArraySingleDimensionLiteralsUnion_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsBoundedWString_max_cdr_typesize {24008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsBoundedWString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLong_max_cdr_typesize {4004UL};
constexpr uint32_t ArrayMultiDimensionLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsBoundedString_max_cdr_typesize {4007UL};
constexpr uint32_t ArrayMultiDimensionLiteralsBoundedString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsSequence_max_cdr_typesize {2008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsSequence_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionString_max_cdr_typesize {260008UL};
constexpr uint32_t ArrayMultiDimensionString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayChar_max_cdr_typesize {14UL};
constexpr uint32_t ArrayChar_max_key_cdr_typesize {0UL};


constexpr uint32_t ArraySingleDimensionLiteralsString_max_cdr_typesize {1308UL};
constexpr uint32_t ArraySingleDimensionLiteralsString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsShortArray_max_cdr_typesize {204UL};
constexpr uint32_t ArraySingleDimensionLiteralsShortArray_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayUInt8_max_cdr_typesize {14UL};
constexpr uint32_t ArrayUInt8_max_key_cdr_typesize {0UL};


constexpr uint32_t ArrayMultiDimensionLiteralsUShort_max_cdr_typesize {504UL};
constexpr uint32_t ArrayMultiDimensionLiteralsUShort_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsUnion_max_cdr_typesize {12008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsUnion_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayBoundedString_max_cdr_typesize {167UL};
constexpr uint32_t ArrayBoundedString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsEnum_max_cdr_typesize {24UL};
constexpr uint32_t ArraySingleDimensionLiteralsEnum_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLongLong_max_cdr_typesize {8008UL};
constexpr uint32_t ArrayMultiDimensionLongLong_max_key_cdr_typesize {0UL};


constexpr uint32_t ArrayMultiDimensionDouble_max_cdr_typesize {8008UL};
constexpr uint32_t ArrayMultiDimensionDouble_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayAlias_max_cdr_typesize {44UL};
constexpr uint32_t ArrayAlias_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayULongLong_max_cdr_typesize {88UL};
constexpr uint32_t ArrayULongLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsDouble_max_cdr_typesize {88UL};
constexpr uint32_t ArraySingleDimensionLiteralsDouble_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionBitMask_max_cdr_typesize {4008UL};
constexpr uint32_t ArrayMultiDimensionBitMask_max_key_cdr_typesize {0UL};


constexpr uint32_t ArraySingleDimensionLiteralsMap_max_cdr_typesize {16UL};
constexpr uint32_t ArraySingleDimensionLiteralsMap_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsLongLong_max_cdr_typesize {88UL};
constexpr uint32_t ArraySingleDimensionLiteralsLongLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsBoolean_max_cdr_typesize {9UL};
constexpr uint32_t ArraySingleDimensionLiteralsBoolean_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayFloat_max_cdr_typesize {44UL};
constexpr uint32_t ArrayFloat_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionAlias_max_cdr_typesize {4004UL};
constexpr uint32_t ArrayMultiDimensionAlias_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionWChar_max_cdr_typesize {2004UL};
constexpr uint32_t ArrayMultiDimensionWChar_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayUShort_max_cdr_typesize {24UL};
constexpr uint32_t ArrayUShort_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayWString_max_cdr_typesize {5166UL};
constexpr uint32_t ArrayWString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionMap_max_cdr_typesize {4008UL};
constexpr uint32_t ArrayMultiDimensionMap_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsLong_max_cdr_typesize {1004UL};
constexpr uint32_t ArrayMultiDimensionLiteralsLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsAlias_max_cdr_typesize {44UL};
constexpr uint32_t ArraySingleDimensionLiteralsAlias_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsBitset_max_cdr_typesize {88UL};
constexpr uint32_t ArraySingleDimensionLiteralsBitset_max_key_cdr_typesize {0UL};

constexpr uint32_t BoundedBigArrays_max_cdr_typesize {83854UL};
constexpr uint32_t BoundedBigArrays_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsWString_max_cdr_typesize {5166UL};
constexpr uint32_t ArraySingleDimensionLiteralsWString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayEnum_max_cdr_typesize {44UL};
constexpr uint32_t ArrayEnum_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMap_max_cdr_typesize {48UL};
constexpr uint32_t ArrayMap_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsShort_max_cdr_typesize {14UL};
constexpr uint32_t ArraySingleDimensionLiteralsShort_max_key_cdr_typesize {0UL};

constexpr uint32_t BoundedSmallArrays_max_cdr_typesize {6UL};
constexpr uint32_t BoundedSmallArrays_max_key_cdr_typesize {0UL};


constexpr uint32_t ArrayMultiDimensionBoundedString_max_cdr_typesize {16007UL};
constexpr uint32_t ArrayMultiDimensionBoundedString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsChar_max_cdr_typesize {504UL};
constexpr uint32_t ArrayMultiDimensionLiteralsChar_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsMap_max_cdr_typesize {1008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsMap_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayWChar_max_cdr_typesize {24UL};
constexpr uint32_t ArrayWChar_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionBoundedWString_max_cdr_typesize {24008UL};
constexpr uint32_t ArrayMultiDimensionBoundedWString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayOctet_max_cdr_typesize {14UL};
constexpr uint32_t ArrayOctet_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySequence_max_cdr_typesize {48UL};
constexpr uint32_t ArraySequence_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayBoolean_max_cdr_typesize {14UL};
constexpr uint32_t ArrayBoolean_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsULongLong_max_cdr_typesize {8008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsULongLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsBitMask_max_cdr_typesize {1008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsBitMask_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsChar_max_cdr_typesize {9UL};
constexpr uint32_t ArraySingleDimensionLiteralsChar_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsBoundedWString_max_cdr_typesize {248UL};
constexpr uint32_t ArraySingleDimensionLiteralsBoundedWString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsFloat_max_cdr_typesize {2004UL};
constexpr uint32_t ArrayMultiDimensionLiteralsFloat_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayBoundedWString_max_cdr_typesize {248UL};
constexpr uint32_t ArrayBoundedWString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayBitset_max_cdr_typesize {88UL};
constexpr uint32_t ArrayBitset_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionOctet_max_cdr_typesize {1004UL};
constexpr uint32_t ArrayMultiDimensionOctet_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionEnum_max_cdr_typesize {4004UL};
constexpr uint32_t ArrayMultiDimensionEnum_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsOctet_max_cdr_typesize {254UL};
constexpr uint32_t ArrayMultiDimensionLiteralsOctet_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsUnsignedLong_max_cdr_typesize {44UL};
constexpr uint32_t ArraySingleDimensionLiteralsUnsignedLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionUShort_max_cdr_typesize {2004UL};
constexpr uint32_t ArrayMultiDimensionUShort_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayDouble_max_cdr_typesize {88UL};
constexpr uint32_t ArrayDouble_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLongDouble_max_cdr_typesize {16008UL};
constexpr uint32_t ArrayMultiDimensionLongDouble_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsULong_max_cdr_typesize {2004UL};
constexpr uint32_t ArrayMultiDimensionLiteralsULong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsOctet_max_cdr_typesize {14UL};
constexpr uint32_t ArraySingleDimensionLiteralsOctet_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionULong_max_cdr_typesize {4004UL};
constexpr uint32_t ArrayMultiDimensionULong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionFloat_max_cdr_typesize {4004UL};
constexpr uint32_t ArrayMultiDimensionFloat_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsLongDouble_max_cdr_typesize {4008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsLongDouble_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsShort_max_cdr_typesize {204UL};
constexpr uint32_t ArrayMultiDimensionLiteralsShort_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsLongLong_max_cdr_typesize {2008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsLongLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsWChar_max_cdr_typesize {24UL};
constexpr uint32_t ArraySingleDimensionLiteralsWChar_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayLongLong_max_cdr_typesize {88UL};
constexpr uint32_t ArrayLongLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionStructure_max_cdr_typesize {12008UL};
constexpr uint32_t ArrayMultiDimensionStructure_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsBoundedString_max_cdr_typesize {87UL};
constexpr uint32_t ArraySingleDimensionLiteralsBoundedString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayShortArray_max_cdr_typesize {204UL};
constexpr uint32_t ArrayShortArray_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayUnion_max_cdr_typesize {128UL};
constexpr uint32_t ArrayUnion_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsLong_max_cdr_typesize {44UL};
constexpr uint32_t ArraySingleDimensionLiteralsLong_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayLongDouble_max_cdr_typesize {168UL};
constexpr uint32_t ArrayLongDouble_max_key_cdr_typesize {0UL};



constexpr uint32_t ArrayMultiDimensionShort_max_cdr_typesize {2004UL};
constexpr uint32_t ArrayMultiDimensionShort_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsUnsignedShort_max_cdr_typesize {24UL};
constexpr uint32_t ArraySingleDimensionLiteralsUnsignedShort_max_key_cdr_typesize {0UL};

constexpr uint32_t ArraySingleDimensionLiteralsFloat_max_cdr_typesize {24UL};
constexpr uint32_t ArraySingleDimensionLiteralsFloat_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsString_max_cdr_typesize {65008UL};
constexpr uint32_t ArrayMultiDimensionLiteralsString_max_key_cdr_typesize {0UL};

constexpr uint32_t ArrayMultiDimensionLiteralsWString_max_cdr_typesize {516006UL};
constexpr uint32_t ArrayMultiDimensionLiteralsWString_max_key_cdr_typesize {0UL};



namespace eprosima {
namespace fastcdr {

class Cdr;
class CdrSizeCalculator;

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayUShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayULong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayLongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayULongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayFloat& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayLongDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayBoolean& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayOctet& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayUInt8& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayWChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayBoundedString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayBoundedWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayEnum& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayBitMask& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayAlias& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayShortArray& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySequence& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMap& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayUnion& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayStructure& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayBitset& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionUShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionULong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionULongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionFloat& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLongDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionBoolean& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionOctet& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionWChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionBoundedString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionBoundedWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionEnum& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionBitMask& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionAlias& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionSequence& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionMap& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionUnion& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionStructure& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionBitset& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsUnsignedShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsUnsignedLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsLongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsUnsignedLongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsFloat& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsLongDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsBoolean& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsOctet& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsWChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsBoundedString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsBoundedWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsEnum& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsBitMask& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsAlias& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsShortArray& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsSequence& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsMap& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsUnion& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsStructure& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArraySingleDimensionLiteralsBitset& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsUShort& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsULong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsLongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsULongLong& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsFloat& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsLongDouble& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsBoolean& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsOctet& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsWChar& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsBoundedString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsBoundedWString& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsEnum& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsBitMask& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsAlias& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsSequence& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsMap& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsUnion& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsStructure& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const ArrayMultiDimensionLiteralsBitSet& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const BoundedSmallArrays& data);

eProsima_user_DllExport void serialize_key(
        eprosima::fastcdr::Cdr& scdr,
        const BoundedBigArrays& data);


} // namespace fastcdr
} // namespace eprosima

#endif // FAST_DDS_GENERATED__ARRAYSCDRAUX_HPP

