20#ifndef FASTDDS_DDS_XTYPES_TYPE_REPRESENTATION__TYPEOBJECTUTILS_HPP
21#define FASTDDS_DDS_XTYPES_TYPE_REPRESENTATION__TYPEOBJECTUTILS_HPP
25#include <fastcdr/cdr/fixed_size_string.hpp>
26#include <fastcdr/xcdr/optional.hpp>
28#include <fastdds/dds/core/ReturnCode.hpp>
29#include <fastdds/dds/xtypes/common.hpp>
30#include <fastdds/dds/xtypes/dynamic_types/Types.hpp>
31#include <fastdds/dds/xtypes/exception/Exception.hpp>
32#include <fastdds/dds/xtypes/type_representation/TypeObject.hpp>
33#include <fastdds/fastdds_dll.hpp>
39class DynamicTypeBuilderFactoryImpl;
43class TypeObjectRegistry;
61 uint8_t discriminator,
125 bool default_literal);
225 const eprosima::fastcdr::external<TypeIdentifier>& element_identifier);
245 const eprosima::fastcdr::external<TypeIdentifier>& element_identifier);
255 template<
typename element>
257 std::vector<element>& array_bound_seq,
258 element dimension_bound)
264 array_bound_seq.push_back(dimension_bound);
285 const eprosima::fastcdr::external<TypeIdentifier>& element_identifier);
306 const eprosima::fastcdr::external<TypeIdentifier>& element_identifier);
332 const eprosima::fastcdr::external<TypeIdentifier>& element_identifier,
334 const eprosima::fastcdr::external<TypeIdentifier>& key_identifier);
360 const eprosima::fastcdr::external<TypeIdentifier>& element_identifier,
362 const eprosima::fastcdr::external<TypeIdentifier>& key_identifier);
408 const std::string& type_name,
410 bool wstring =
false);
428 const std::string& type_name,
430 bool wstring =
false);
447 const std::string& type_name,
465 const std::string& type_name,
483 const std::string& type_name,
501 const std::string& type_name,
519 const std::string& type_name,
537 const std::string& type_name,
552 const std::string& type_name);
597 uint8_t uint8_value);
606 int16_t int16_value);
615 uint16_t uint16_value);
624 int32_t int32_value);
633 uint32_t uint32_value);
642 int64_t int64_value);
651 uint64_t uint64_value);
660 float float32_value);
669 double float64_value);
678 long double float128_value);
696 wchar_t wchar_value);
705 int32_t enumerated_value);
714 const eprosima::fastcdr::fixed_string<128>& string8_value);
723 const std::wstring& string16_value);
763 const eprosima::fastcdr::optional<AppliedAnnotationParameterSeq>& param_seq);
788 const eprosima::fastcdr::fixed_string<32>& language,
789 const std::string& text);
803 const eprosima::fastcdr::optional<std::string>& unit,
804 const eprosima::fastcdr::optional<AnnotationParameterValue>& min,
805 const eprosima::fastcdr::optional<AnnotationParameterValue>& max,
806 const eprosima::fastcdr::optional<std::string>& hash_id);
837 const eprosima::fastcdr::optional<AppliedBuiltinMemberAnnotations>& ann_builtin,
838 const eprosima::fastcdr::optional<AppliedAnnotationSeq>& ann_custom);
885 const eprosima::fastcdr::optional<AppliedVerbatimAnnotation>& verbatim);
902 const eprosima::fastcdr::optional<AppliedBuiltinTypeAnnotations>& ann_builtin,
903 const eprosima::fastcdr::optional<AppliedAnnotationSeq>& ann_custom,
1047 const eprosima::fastcdr::optional<AppliedBuiltinTypeAnnotations>& ann_builtin,
1048 const eprosima::fastcdr::optional<AppliedAnnotationSeq>& ann_custom);
1212 const eprosima::fastcdr::optional<AppliedBuiltinMemberAnnotations>& ann_builtin,
1213 const eprosima::fastcdr::optional<AppliedAnnotationSeq>& ann_custom);
1268 const eprosima::fastcdr::optional<AppliedBuiltinMemberAnnotations>& ann_builtin,
1269 const eprosima::fastcdr::optional<AppliedAnnotationSeq>& ann_custom);
1326 const eprosima::fastcdr::optional<CompleteTypeDetail>& detail);
1497 bool bitmask =
false);
1514 bool bitmask =
false);
1737 const std::string& type_name,
1757 const std::string& type_name,
1777 const std::string& type_name,
1797 const std::string& type_name,
1817 const std::string& type_name,
1835 const std::string& type_name);
1852 const std::string& type_name);
1869 const std::string& type_name);
1888 const std::string& type_name,
1908 const std::string& type_name,
1921 const std::string& name);
2072 template<
typename T>
2080 for (
auto bound : array)
2169 template<
typename T>
2436 const std::string& string_value);
2720 const eprosima::fastcdr::optional<AppliedBuiltinMemberAnnotations>& ann_builtin);
2942 bool bitmask =
false);
2954 bool bitmask =
false);
This class represents the union AnnotationParameterValue defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:4341
This class represents the structure AppliedAnnotation defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:6414
This class represents the structure AppliedAnnotationParameter defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:6232
This class represents the structure AppliedBuiltinMemberAnnotations defined by the user in the IDL fi...
Definition dds_xtypes_typeobject.hpp:6823
This class represents the structure AppliedBuiltinTypeAnnotations defined by the user in the IDL file...
Definition dds_xtypes_typeobject.hpp:8038
This class represents the structure AppliedVerbatimAnnotation defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:6596
This class represents the structure CommonAliasBody defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:12611
This class represents the structure CommonAnnotationParameter defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:11291
This class represents the structure CommonBitfield defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:19385
This class represents the structure CommonBitflag defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:18270
This class represents the structure CommonCollectionElement defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:14013
This class represents the structure CommonDiscriminatorMember defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:9937
This class represents the structure CommonEnumeratedLiteral defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:16846
This class represents the structure CommonStructMember defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:7097
This class represents the structure CommonUnionMember defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:9309
This class represents the structure CompleteAliasBody defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:12791
This class represents the structure CompleteAliasType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:13379
This class represents the structure CompleteAnnotationParameter defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:11471
This class represents the structure CompleteAnnotationType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:12157
This class represents the structure CompleteArrayType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:15842
This class represents the structure CompleteBitfield defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:19629
This class represents the structure CompleteBitflag defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:18440
This class represents the structure CompleteBitmaskType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:18931
This class represents the structure CompleteBitsetType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:20221
This class represents the structure CompleteCollectionElement defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:14193
This class represents the structure CompleteDiscriminatorMember defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:10117
This class represents the structure CompleteElementDetail defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:13833
This class represents the structure CompleteEnumeratedLiteral defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:17016
This class represents the structure CompleteEnumeratedType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:17816
This class represents the structure CompleteExtendedType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:20675
This class represents the structure CompleteMapType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:16296
This class represents the structure CompleteMemberDetail defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:7314
This class represents the structure CompleteSequenceType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:14942
This class represents the structure CompleteStructMember defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:7674
This class represents the structure CompleteStructType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:8853
This class represents the structure CompleteTypeDetail defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:8266
This class represents the union CompleteTypeObject defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:20770
This class represents the structure CompleteUnionMember defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:9573
This class represents the structure CompleteUnionType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:10743
This class represents the structure ExtendedAnnotationParameterValue defined by the user in the IDL f...
Definition dds_xtypes_typeobject.hpp:4246
This class represents the structure ExtendedTypeDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:2630
Application is passing an invalid argument.
Definition Exception.hpp:59
This class represents the structure MinimalAliasType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:13606
This class represents the structure MinimalAnnotationType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:12384
This class represents the structure MinimalArrayType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:16069
This class represents the structure MinimalBitmaskType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:19158
This class represents the structure MinimalBitsetType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:20448
This class represents the structure MinimalEnumeratedType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:18043
This class represents the structure MinimalMapType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:16570
This class represents the structure MinimalSequenceType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:15169
This class represents the structure MinimalStructType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:9080
This class represents the union MinimalTypeObject defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:22164
This class represents the structure MinimalUnionType defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:11017
This class represents the structure PlainArrayLElemDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:1574
This class represents the structure PlainArraySElemDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:1347
This class represents the structure PlainMapLTypeDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:2112
This class represents the structure PlainMapSTypeDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:1801
This class represents the structure PlainSequenceLElemDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:1130
This class represents the structure PlainSequenceSElemDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:913
This class represents the structure StringLTypeDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:620
This class represents the structure StringSTypeDefn defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:497
This class represents the structure StronglyConnectedComponentId defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:2423
This class represents the union TypeIdentifier defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:2820
This class represents the structure TypeIdentifierPair defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:24033
This class represents the union TypeObjectHashId defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:147
This class represents the union TypeObject defined by the user in the IDL file.
Definition dds_xtypes_typeobject.hpp:23463
Definition TypeObjectUtils.hpp:48
static FASTDDS_EXPORTED_API const AppliedAnnotationParameter build_applied_annotation_parameter(const NameHash ¶mname_hash, const AnnotationParameterValue &value)
Build AppliedAnnotationParameter instance.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_sequence_type_object(const CompleteSequenceType &sequence_type, const std::string &type_name)
Register sequence TypeObject into TypeObjectRegistry.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(uint64_t uint64_value)
Build AnnotationParameterValue instance.
static void minimal_alias_type_consistency(const MinimalAliasType &minimal_alias_type)
Check MinimalAliasType consistency.
static void seq_sdefn_consistency(const PlainSequenceSElemDefn &plain_seq)
Check PlainSequenceSElemDefn consistency.
static FASTDDS_EXPORTED_API void add_complete_bitflag(CompleteBitflagSeq &sequence, const CompleteBitflag &bitflag)
Add complete bitflag to the sequence.
static void enum_bit_bound_consistency(BitBound bit_bound)
Check enumeration BitBound consistency.
static void complete_enumerated_literal_seq_consistency(const CompleteEnumeratedLiteralSeq &complete_enumerated_literal_seq)
Check CompleteEnumeratedLiteralSeq consistency.
static FASTDDS_EXPORTED_API const CommonArrayHeader build_common_array_header(const LBoundSeq &bound_seq)
MinimalSequenceType constructed from CompleteSequenceType.
static void complete_struct_header_consistency(const CompleteStructHeader &complete_struct_header)
Check CompleteStructHeader consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_bitmask_type_object(const CompleteBitmaskType &bitmask_type, const std::string &type_name, TypeIdentifierPair &type_ids)
Register bitmask TypeObject into TypeObjectRegistry.
static void complete_annotation_header_consistency(const CompleteAnnotationHeader &complete_annotation_header)
Check CompleteAnnotationHeader consistency.
static void complete_array_type_consistency(const CompleteArrayType &complete_array_type)
Check CompleteArrayType consistency.
static void common_union_member_consistency(const CommonUnionMember &common_union_member)
Check CommonUnionMember consistency.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(uint32_t uint32_value)
Build AnnotationParameterValue instance.
static void union_member_flag_consistency(UnionMemberFlag union_member_flag)
Check UnionMemberFlag consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_s_map_type_identifier(const PlainMapSTypeDefn &plain_map, const std::string &type_name, TypeIdentifierPair &type_ids)
Register small map TypeIdentifier into TypeObjectRegistry.
static FASTDDS_EXPORTED_API const CompleteBitmaskType build_complete_bitmask_type(BitmaskTypeFlag bitmask_flags, const CompleteBitmaskHeader &header, const CompleteBitflagSeq &flag_seq)
MinimalBitflag constructed from CompleteBitflag.
static void complete_bitmask_type_consistency(const CompleteBitmaskType &complete_bitmask_type)
Check CompleteBitmaskType consistency.
static void add_array_dimension(std::vector< element > &array_bound_seq, element dimension_bound)
Add dimension bound to the array bound sequence.
Definition TypeObjectUtils.hpp:256
static FASTDDS_EXPORTED_API const CommonAnnotationParameter build_common_annotation_parameter(AnnotationParameterFlag member_flags, const TypeIdentifier &member_type_id)
MinimalUnionType constructed from CompleteUnionType.
static void bitfield_holder_type_consistency(TypeKind holder_type, uint8_t bitcount)
Check consistency between the holder type and the bitcount.
static void complete_array_header_consistency(const CompleteArrayHeader &complete_array_header)
Check CompleteArrayHeader consistency.
static FASTDDS_EXPORTED_API const CommonStructMember build_common_struct_member(MemberId member_id, StructMemberFlag member_flags, const TypeIdentifier &member_type_id)
Build CommonStructMember instance.
static void string_ldefn_consistency(const StringLTypeDefn &string)
Check StringLTypeDefn consistency.
static void array_bound_seq_consistency(const T &array)
Check that the array_bound_seq is consistent: non-empty.
Definition TypeObjectUtils.hpp:2073
static void minimal_annotation_type_consistency(const MinimalAnnotationType &minimal_annotation_type)
Check MinimalAnnotationType consistency.
static void common_array_header_consistency(const CommonArrayHeader &common_array_header)
Check CommonArrayHeader consistency.
static FASTDDS_EXPORTED_API const StringLTypeDefn build_string_l_type_defn(LBound bound)
Build StringLTypeDefn instance.
static void complete_discriminator_member_consistency(const CompleteDiscriminatorMember &complete_discriminator_member)
Check CompleteDiscriminatorMember consistency.
static void common_enumerated_header_consistency(const CommonEnumeratedHeader &common_enumerated_header, bool bitmask=false)
Check CommonEnumeratedHeader consistency.
static FASTDDS_EXPORTED_API const CompleteTypeDetail build_complete_type_detail(const eprosima::fastcdr::optional< AppliedBuiltinTypeAnnotations > &ann_builtin, const eprosima::fastcdr::optional< AppliedAnnotationSeq > &ann_custom, const QualifiedTypeName &type_name)
MinimalTypeDetail constructed from CompleteTypeDetail: empty.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_union_type_object(const CompleteUnionType &union_type, const std::string &type_name, TypeIdentifierPair &type_ids)
Register union TypeObject into TypeObjectRegistry.
static FASTDDS_EXPORTED_API void add_complete_annotation_parameter(CompleteAnnotationParameterSeq &sequence, const CompleteAnnotationParameter ¶m)
Add CompleteAnnotationParameter to sequence.
static FASTDDS_EXPORTED_API const CompleteEnumeratedHeader build_complete_enumerated_header(const CommonEnumeratedHeader &common, const CompleteTypeDetail &detail, bool bitmask=false)
Build CompleteEnumeratedHeader instance.
static void bit_position_consistency(uint16_t position)
Check bitflag position consistency.
static void bitmask_bit_bound_consistency(BitBound bit_bound)
Check bitmask BitBound consistency.
static void common_struct_member_consistency(const CommonStructMember &common_struct_member)
Check CommonStructMember consistency.
static void complete_union_type_consistency(const CompleteUnionType &complete_union_type)
Check CompleteUnionType consistency.
static void union_case_label_seq_consistency(const UnionCaseLabelSeq &union_case_label_seq)
Check UnionCaseLabelSeq consistency.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(char char_value)
Build AnnotationParameterValue instance.
static void map_sdefn_consistency(const PlainMapSTypeDefn &plain_map)
Check PlainMapSTypeDefn consistency.
static void direct_hash_type_identifier_consistency(const TypeIdentifier &type_id)
Check direct hash TypeIdentifier consistency.
static void complete_annotation_parameter_consistency(const CompleteAnnotationParameter &complete_annotation_parameter)
Check CompleteAnnotationParameter consistency.
static void complete_enumerated_header_consistency(const CompleteEnumeratedHeader &complete_enumerated_header, bool bitmask=false)
Check CompleteEnumeratedHeader consistency.
static void minimal_type_object_consistency(const MinimalTypeObject &minimal_type_object)
Check MinimalTypeObject consistency.
static FASTDDS_EXPORTED_API const CommonEnumeratedHeader build_common_enumerated_header(BitBound bit_bound, bool bitmask=false)
MinimalEnumeratedLiteral constructed from CompleteEnumeratedLiteral.
static void set_try_construct_behavior(MemberFlag &member_flag, TryConstructFailAction try_construct_kind)
Set the try construct behavior in a given MemberFlag.
static void complete_collection_element_consistency(const CompleteCollectionElement &complete_collection_element)
Check CompleteCollectionElement consistency.
static FASTDDS_EXPORTED_API const CompleteMapType build_complete_map_type(CollectionTypeFlag collection_flag, const CompleteCollectionHeader &header, const CompleteCollectionElement &key, const CompleteCollectionElement &element)
MinimalArrayType constructed from CompleteArrayType.
static FASTDDS_EXPORTED_API const StronglyConnectedComponentId build_strongly_connected_component_id(const TypeObjectHashId &sc_component_id, int32_t scc_length, int32_t scc_index)
Build StronglyConnectedComponentId instance.
static void l_bound_seq_consistency(const LBoundSeq &bound_seq)
Check LBoundSeq consistency.
static void common_alias_body_consistency(const CommonAliasBody &common_alias_body)
Check CommonAliasBody consistency.
static void array_sdefn_consistency(const PlainArraySElemDefn &plain_array)
Check PlainArraySElemDefn consistency.
static bool is_direct_hash_type_identifier(const TypeIdentifier &type_identifier)
Check if a given TypeIdentifier is direct hash.
static void complete_type_detail_consistency(const CompleteTypeDetail &complete_type_detail)
Check CompleteTypeDetail consistency.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(int64_t int64_value)
Build AnnotationParameterValue instance.
static void complete_union_header_consistency(const CompleteUnionHeader &complete_union_header)
Check CompleteUnionHeader consistency.
static FASTDDS_EXPORTED_API const CompleteStructMember build_complete_struct_member(const CommonStructMember &common, const CompleteMemberDetail &detail)
MinimalMemberDetail constructed from CompleteMemberDetail.
static void common_struct_member_and_complete_member_detail_consistency(const CommonStructMember &common_struct_member, const CompleteMemberDetail &complete_member_detail)
Check cross-consistency between CommonStructMember and CompleteMemberDetail.
static void common_bitfield_consistency(const CommonBitfield &common_bitfield)
Check CommonBitfield consistency.
static void minimal_bitset_type_consistency(const MinimalBitsetType &minimal_bitset_type)
Check MinimalBitsetType consistency.
static void minimal_map_type_consistency(const MinimalMapType &minimal_map_type)
Check MinimalMapType consistency.
static FASTDDS_EXPORTED_API const TypeIdentifier & retrieve_complete_type_identifier(const TypeIdentifierPair &type_ids, bool &ec)
If one of the TypeIdentifier in TypeIdentifierPair is complete, returns its reference.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(int16_t int16_value)
Build AnnotationParameterValue instance.
static void complete_union_member_consistency(const CompleteUnionMember &complete_union_member)
Check CompleteUnionMember consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_l_string_type_identifier(const StringLTypeDefn &string, const std::string &type_name, TypeIdentifierPair &type_ids, bool wstring=false)
Register large string/wstring TypeIdentifier into TypeObjectRegistry.
static FASTDDS_EXPORTED_API const PlainArrayLElemDefn build_plain_array_l_elem_defn(const PlainCollectionHeader &header, const LBoundSeq &array_bound_seq, const eprosima::fastcdr::external< TypeIdentifier > &element_identifier)
Build PlainArrayLElemDefn instance.
static bool is_fully_descriptive_type_identifier(const TypeIdentifier &type_identifier)
Check if a given TypeIdentifier is fully-descriptive.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_alias_type_object(const CompleteAliasType &alias_type, const std::string &type_name, TypeIdentifierPair &type_ids)
Register alias TypeObject into TypeObjectRegistry.
static FASTDDS_EXPORTED_API const ExtendedTypeDefn build_extended_type_defn()
Build ExtendedTypeDefn instance (empty.
static FASTDDS_EXPORTED_API const CompleteAliasHeader build_complete_alias_header(const CompleteTypeDetail &detail)
MinimalAliasBody constructed from CompleteAliasBody.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value_enum(int32_t enumerated_value)
Build AnnotationParameterValue instance.
static void minimal_union_type_consistency(const MinimalUnionType &minimal_union_type)
Check MinimalUnionType consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_enumerated_type_object(const CompleteEnumeratedType &enumerated_type, const std::string &type_name, TypeIdentifierPair &type_ids)
Register enumeration TypeObject into TypeObjectRegistry.
static void common_discriminator_member_type_identifier_consistency(const TypeIdentifier &type_id)
Check discriminator TypeIdentifier consistency.
static void complete_alias_type_consistency(const CompleteAliasType &complete_alias_type)
Check CompleteAliasType consistency.
static void minimal_array_type_consistency(const MinimalArrayType &minimal_array_type)
Check MinimalArrayType consistency.
static void type_identifier_consistency(const TypeIdentifier &type_identifier)
Check TypeIdentifier consistency.
static FASTDDS_EXPORTED_API const CompleteStructHeader build_complete_struct_header(const TypeIdentifier &base_type, const CompleteTypeDetail &detail)
Build CompleteStructHeader instance.
static FASTDDS_EXPORTED_API const StringSTypeDefn build_string_s_type_defn(SBound bound)
CollectionTypeFlag: Unused.
static FASTDDS_EXPORTED_API const CommonBitflag build_common_bitflag(uint16_t position, BitflagFlag flags)
MinimalEnumeratedType constructed from CompleteEnumeratedType.
static FASTDDS_EXPORTED_API const CompleteUnionHeader build_complete_union_header(const CompleteTypeDetail &detail)
MinimalDiscriminatorMember constructed from CompleteDiscriminatorMember.
static FASTDDS_EXPORTED_API const PlainMapLTypeDefn build_plain_map_l_type_defn(const PlainCollectionHeader &header, const LBound bound, const eprosima::fastcdr::external< TypeIdentifier > &element_identifier, const CollectionElementFlag key_flags, const eprosima::fastcdr::external< TypeIdentifier > &key_identifier)
Build PlainMapLTypeDefn instance.
static void applied_builtin_type_annotations_consistency(const AppliedBuiltinTypeAnnotations &applied_builtin_type_annotations)
Check AppliedBuiltinTypeAnnotations consistency.
static FASTDDS_EXPORTED_API UnionMemberFlag build_union_member_flag(TryConstructFailAction try_construct_kind, bool default_member, bool external)
Build UnionMemberFlag instance.
static FASTDDS_EXPORTED_API UnionDiscriminatorFlag build_union_discriminator_flag(TryConstructFailAction try_construct_kind, bool key)
Build UnionDiscriminatorFlag instance.
static void applied_annotation_type_identifier_consistency(const TypeIdentifier &annotation_type_id)
Check AppliedAnnotation TypeIdentifier consistency.
static void common_enumerated_literal_consistency(const CommonEnumeratedLiteral &common_enumerated_literal)
Check CommonEnumeratedLiteral consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_s_sequence_type_identifier(const PlainSequenceSElemDefn &plain_seq, const std::string &type_name, TypeIdentifierPair &type_ids)
Register small sequence TypeIdentifier into TypeObjectRegistry.
static FASTDDS_EXPORTED_API const CompleteElementDetail build_complete_element_detail(const eprosima::fastcdr::optional< AppliedBuiltinMemberAnnotations > &ann_builtin, const eprosima::fastcdr::optional< AppliedAnnotationSeq > &ann_custom)
MinimalAliasType constructed from CompleteAliasType.
static FASTDDS_EXPORTED_API const PlainMapSTypeDefn build_plain_map_s_type_defn(const PlainCollectionHeader &header, const SBound bound, const eprosima::fastcdr::external< TypeIdentifier > &element_identifier, const CollectionElementFlag key_flags, const eprosima::fastcdr::external< TypeIdentifier > &key_identifier)
Build PlainMapSTypeDefn instance.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_struct_type_object(const CompleteStructType &struct_type, const std::string &type_name, TypeIdentifierPair &type_ids)
Register structure TypeObject into TypeObjectRegistry.
static void complete_type_object_consistency(const CompleteTypeObject &complete_type_object)
Check CompleteTypeObject consistency.
static bool is_indirect_hash_type_identifier(const TypeIdentifier &type_identifier)
Check if a given TypeIdentifier is indirect hash.
static FASTDDS_EXPORTED_API CollectionElementFlag build_collection_element_flag(TryConstructFailAction try_construct_kind, bool external)
Build CollectionElementFlag instance.
static FASTDDS_EXPORTED_API void add_complete_struct_member(CompleteStructMemberSeq &member_seq, const CompleteStructMember &member)
Add CompleteStructMember to the sequence.
static FASTDDS_EXPORTED_API void type_object_consistency(const TypeObject &type_object)
Check TypeObject consistency.
static FASTDDS_EXPORTED_API EnumeratedLiteralFlag build_enumerated_literal_flag(bool default_literal)
Build EnumeratedLiteralFlag instance.
static FASTDDS_EXPORTED_API const CommonCollectionElement build_common_collection_element(CollectionElementFlag element_flags, const TypeIdentifier &type)
Build CommonCollectionElement instance.
static void map_key_type_identifier_consistency(const TypeIdentifier &key_identifier)
Check map key_identifier consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_annotation_type_object(const CompleteAnnotationType &annotation_type, const std::string &type_name, TypeIdentifierPair &type_ids)
Register annotation TypeObject into TypeObjectRegistry.
static void minimal_sequence_type_consistency(const MinimalSequenceType &minimal_sequence_type)
Check MinimalSequenceType consistency.
static FASTDDS_EXPORTED_API const PlainArraySElemDefn build_plain_array_s_elem_defn(const PlainCollectionHeader &header, const SBoundSeq &array_bound_seq, const eprosima::fastcdr::external< TypeIdentifier > &element_identifier)
Build PlainArraySElemDefn instance.
static void type_flag_consistency(TypeFlag type_flag)
Check TypeFlag consistency: exactly one extensibility flag is set.
static FASTDDS_EXPORTED_API StructMemberFlag build_struct_member_flag(TryConstructFailAction try_construct_kind, bool optional, bool must_understand, bool key, bool external)
Build StructMemberFlag instance.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(float float32_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_scc_type_identifier(const StronglyConnectedComponentId &scc, const std::string &type_name)
Register StronglyConnectedComponent TypeIdentifier into TypeObjectRegistry.
static FASTDDS_EXPORTED_API const CompleteAnnotationParameter build_complete_annotation_parameter(const CommonAnnotationParameter &common, const MemberName &name, const AnnotationParameterValue &default_value)
Build CompleteAnnotationParameter instance.
static FASTDDS_EXPORTED_API const CompleteAnnotationType build_complete_annotation_type(AnnotationTypeFlag annotation_flag, const CompleteAnnotationHeader &header, const CompleteAnnotationParameterSeq &member_seq)
MinimalAnnotationHeader constructed from CompleteAnnotationHeader: empty.
static void complete_bitset_type_consistency(const CompleteBitsetType &complete_bitset_type)
Check CompleteBitsetType consistency.
static void complete_collection_header_consistency(const CompleteCollectionHeader &complete_collection_header)
Check CompleteCollectionHeader consistency.
static FASTDDS_EXPORTED_API const CompleteBitfield build_complete_bitfield(const CommonBitfield &common, const CompleteMemberDetail &detail)
Build CompleteBitfield instance.
static FASTDDS_EXPORTED_API const CompleteAnnotationHeader build_complete_annotation_header(const QualifiedTypeName &annotation_name)
MinimalAnnotationParameter constructed from CompleteAnnotationParameter.
static void plain_map_type_components_consistency(const PlainCollectionHeader &header, const TypeIdentifier &type_identifier)
Check consistency between a given PlainCollectionHeader of a map and the related TypeIdentifier:
static void complete_sequence_type_consistency(const CompleteSequenceType &complete_sequence_type)
Check CompleteSequenceType consistency.
static void complete_alias_header_consistency(const CompleteAliasHeader &complete_alias_header)
Check CompleteAliasHeader consistency.
static void string_member_id_consistency(MemberId member_id, const std::string &string_value)
Check consistency between a string value and the MemberId (algorithm XTypes v1.3 Clause 7....
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(uint8_t uint8_value)
Build AnnotationParameterValue instance.
static void common_discriminator_member_consistency(const CommonDiscriminatorMember &common_discriminator_member)
Check CommonDiscriminatorMember consistency.
static void complete_annotation_parameter_seq_consistency(const CompleteAnnotationParameterSeq &complete_annotation_parameter_seq)
Check CompleteAnnotationParameterSeq consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_map_type_object(const CompleteMapType &map_type, const std::string &type_name)
Register map TypeObject into TypeObjectRegistry.
static FASTDDS_EXPORTED_API void add_complete_enumerated_literal(CompleteEnumeratedLiteralSeq &sequence, const CompleteEnumeratedLiteral &enum_literal)
Add CompleteEnumeratedLiteral to sequence.
static FASTDDS_EXPORTED_API const ExtendedAnnotationParameterValue build_extended_annotation_parameter_value()
Build ExtendedAnnotationParameterValue instance (empty.
static void complete_struct_member_seq_consistency(const CompleteStructMemberSeq &complete_struct_member_seq)
Check CompleteStructMemberSeq consistency.
static FASTDDS_EXPORTED_API const CompleteAliasType build_complete_alias_type(AliasTypeFlag alias_flags, const CompleteAliasHeader &header, const CompleteAliasBody &body)
MinimalAliasHeader constructed from CompleteAliasHeader: empty.
static void complete_bitflag_seq_consistency(const CompleteBitflagSeq &complete_bitflag_seq)
Check CompleteBitflagSeq consistency.
static void applied_verbatim_annotation_consistency(const AppliedVerbatimAnnotation &applied_verbatim_annotation)
Check AppliedVerbatimAnnotation consistency.
static FASTDDS_EXPORTED_API const TypeIdentifier & retrieve_minimal_type_identifier(const TypeIdentifierPair &type_ids, bool &ec)
If one of the TypeIdentifier in TypeIdentifierPair is minimal, returns its reference.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(int32_t int32_value)
Build AnnotationParameterValue instance.
static void map_ldefn_consistency(const PlainMapLTypeDefn &plain_map)
Check PlainMapLTypeDefn consistency.
static FASTDDS_EXPORTED_API void add_complete_union_member(CompleteUnionMemberSeq &complete_union_member_seq, const CompleteUnionMember &member)
Add CompleteUnionMember to sequence.
static void array_ldefn_consistency(const PlainArrayLElemDefn &plain_array)
Check PlainArrayLElemDefn consistency.
static FASTDDS_EXPORTED_API const CompleteEnumeratedType build_complete_enumerated_type(EnumTypeFlag enum_flags, const CompleteEnumeratedHeader &header, const CompleteEnumeratedLiteralSeq &literal_seq)
MinimalEnumeratedHeader constructed from CompleteEnumeratedHeader.
static FASTDDS_EXPORTED_API const CommonBitfield build_common_bitfield(uint16_t position, BitsetMemberFlag flags, uint8_t bitcount, TypeKind holder_type)
Build CommonBitfield instance.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(long double float128_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API const CompleteUnionMember build_complete_union_member(const CommonUnionMember &common, const CompleteMemberDetail &detail)
Build CompleteUnionMember instance.
static FASTDDS_EXPORTED_API const CompleteMemberDetail build_complete_member_detail(const MemberName &name, const eprosima::fastcdr::optional< AppliedBuiltinMemberAnnotations > &ann_builtin, const eprosima::fastcdr::optional< AppliedAnnotationSeq > &ann_custom)
Build CompleteMemberDetail instance.
friend class TypeObjectRegistry
Definition TypeObjectUtils.hpp:1958
static void complete_annotation_type_consistency(const CompleteAnnotationType &complete_annotation_type)
Check CompleteAnnotationType consistency.
static void union_discriminator_flag_consistency(UnionDiscriminatorFlag union_discriminator_flag)
Check UnionDiscriminatorFlag consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_bitset_type_object(const CompleteBitsetType &bitset_type, const std::string &type_name, TypeIdentifierPair &type_ids)
Register bitset TypeObject into TypeObjectRegistry.
static FASTDDS_EXPORTED_API UnionTypeFlag build_union_type_flag(ExtensibilityKind extensibility_kind, bool nested, bool autoid_hash)
Build UnionTypeFlag instance.
static FASTDDS_EXPORTED_API const AppliedBuiltinTypeAnnotations build_applied_builtin_type_annotations(const eprosima::fastcdr::optional< AppliedVerbatimAnnotation > &verbatim)
MinimalStructMember constructed from CompleteStructMember.
static void complete_bitflag_consistency(const CompleteBitflag &complete_bitflag)
Check CompleteBitflag consistency.
static void set_extensibility_kind(TypeFlag &type_flag, ExtensibilityKind extensibility_kind)
Set the extensibility kind in a given TypeFlag.
static FASTDDS_EXPORTED_API const CommonCollectionHeader build_common_collection_header(LBound bound)
MinimalCollectionElement constructed from CompleteCollectionElement.
static void complete_map_type_consistency(const CompleteMapType &complete_map_type)
Check CompleteMapType consistency.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(bool boolean_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API const NameHash name_hash(const std::string &name)
Calculate the MD5 hash of the provided name.
static void applied_annotation_parameter_seq_consistency(const AppliedAnnotationParameterSeq &applied_annotation_parameter_seq)
Check AppliedAnnotationParameterSeq consistency.
static FASTDDS_EXPORTED_API const CompleteCollectionHeader build_complete_collection_header(const CommonCollectionHeader &common, const eprosima::fastcdr::optional< CompleteTypeDetail > &detail)
Build CompleteCollectionHeader instance.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_l_map_type_identifier(const PlainMapLTypeDefn &plain_map, const std::string &type_name, TypeIdentifierPair &type_ids)
Register large map TypeIdentifier into TypeObjectRegistry.
static void minimal_struct_type_consistency(const MinimalStructType &minimal_struct_type)
Check MinimalStructType consistency.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(const eprosima::fastcdr::fixed_string< 128 > &string8_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API const CompleteCollectionElement build_complete_collection_element(const CommonCollectionElement &common, const CompleteElementDetail &detail)
Build CompleteCollectionElement instance.
static FASTDDS_EXPORTED_API const PlainSequenceSElemDefn build_plain_sequence_s_elem_defn(const PlainCollectionHeader &header, SBound s_bound, const eprosima::fastcdr::external< TypeIdentifier > &element_identifier)
Build PlainSequenceSElemDefn instance.
static void complete_enumerated_literal_consistency(const CompleteEnumeratedLiteral &complete_enumerated_literal)
Check CompleteEnumeratedLiteral consistency.
static void common_annotation_parameter_type_identifier_default_value_consistency(const TypeIdentifier &type_id, const AnnotationParameterValue &value)
Check that the annotation value is of the same type as the given TypeIdentifier.
static void applied_annotation_consistency(const AppliedAnnotation &applied_annotation)
Check AppliedAnnotation consistency.
static void structure_base_type_consistency(const TypeIdentifier &base_type)
Check CompleteStructHeader base_type TypeIdentifier consistency.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(double float64_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API const CompleteDiscriminatorMember build_complete_discriminator_member(const CommonDiscriminatorMember &common, const eprosima::fastcdr::optional< AppliedBuiltinTypeAnnotations > &ann_builtin, const eprosima::fastcdr::optional< AppliedAnnotationSeq > &ann_custom)
Build CompleteDiscriminatorMember instance.
static void struct_member_flag_consistency(StructMemberFlag member_flags)
Check StructMemberFlag consistency: MemberFlag consistency (try construct annotation).
static FASTDDS_EXPORTED_API const AppliedAnnotation build_applied_annotation(const TypeIdentifier &annotation_typeid, const eprosima::fastcdr::optional< AppliedAnnotationParameterSeq > ¶m_seq)
Build AppliedAnnotation instance.
static FASTDDS_EXPORTED_API const CompleteAliasBody build_complete_alias_body(const CommonAliasBody &common, const eprosima::fastcdr::optional< AppliedBuiltinMemberAnnotations > &ann_builtin, const eprosima::fastcdr::optional< AppliedAnnotationSeq > &ann_custom)
Build CompleteAliasBody instance.
static void set_type_flag(TypeFlag &type_flag, ExtensibilityKind extensibility_kind, bool nested, bool autoid_hash)
Set the TypeFlag object.
static FASTDDS_EXPORTED_API const CommonEnumeratedLiteral build_common_enumerated_literal(int32_t value, EnumeratedLiteralFlag flags)
MinimalMapType constructed from CompleteMapType.
static void minimal_bitmask_type_consistency(const MinimalBitmaskType &minimal_bitmask_type)
Check MinimalBitmaskType consistency.
static FASTDDS_EXPORTED_API void add_complete_bitfield(CompleteBitfieldSeq &sequence, const CompleteBitfield &bitfield)
Add complete bitfield to the sequence.
static void common_collection_element_consistency(const CommonCollectionElement &common_collection_element)
Check CommonCollectionElement consistency.
static void plain_collection_type_identifier_header_consistency(const PlainCollectionHeader &header, const TypeIdentifier &element_identifier)
Check consistency between a given PlainCollectionHeader and the related TypeIdentifier:
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(wchar_t wchar_value)
Build AnnotationParameterValue instance.
static void complete_element_detail_consistency(const CompleteElementDetail &complete_element_detail)
Check CompleteElementDetail consistency.
static FASTDDS_EXPORTED_API const CompleteExtendedType build_complete_extended_type()
MinimalBitsetType constructed from CompleteBitsetType.
static void equivalence_kind_consistency(EquivalenceKind equiv_kind)
Check EquivalenceKind consistency.
static void complete_bitfield_seq_consistency(const CompleteBitfieldSeq &complete_bitfield_seq)
Check CompleteBitfieldSeq consistency.
static FASTDDS_EXPORTED_API const TypeObjectHashId build_type_object_hash_id(uint8_t discriminator, const EquivalenceHash &hash)
Build TypeObjectHashId instance.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_l_sequence_type_identifier(const PlainSequenceLElemDefn &plain_seq, const std::string &type_name, TypeIdentifierPair &type_ids)
Register large sequence TypeIdentifier into TypeObjectRegistry.
static void minimal_enumerated_type_consistency(const MinimalEnumeratedType &minimal_enumerated_type)
Check MinimalEnumeratedType consistency.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(int8_t int8_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(uint16_t uint16_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_l_array_type_identifier(const PlainArrayLElemDefn &plain_array, const std::string &type_name, TypeIdentifierPair &type_ids)
Register large array TypeIdentifier into TypeObjectRegistry.
static void common_annotation_parameter_consistency(const CommonAnnotationParameter &common_annotation_parameter)
Check CommonAnnotationParameter consistency.
static FASTDDS_EXPORTED_API const CompleteBitflag build_complete_bitflag(const CommonBitflag &common, const CompleteMemberDetail &detail)
Build CompleteBitflag instance.
static void common_bitflag_consistency(const CommonBitflag &common_bitflag)
Check CommonBitflag consistency.
static FASTDDS_EXPORTED_API const CompleteArrayHeader build_complete_array_header(const CommonArrayHeader &common, const CompleteTypeDetail &detail)
Build CompleteArrayHeader instance.
static FASTDDS_EXPORTED_API const CompleteUnionType build_complete_union_type(UnionTypeFlag union_flags, const CompleteUnionHeader &header, const CompleteDiscriminatorMember &discriminator, const CompleteUnionMemberSeq &member_seq)
MinimalUnionHeader constructed from CompleteUnionHeader.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value(const std::wstring &string16_value)
Build AnnotationParameterValue instance.
static FASTDDS_EXPORTED_API const AnnotationParameterValue build_annotation_parameter_value_byte(uint8_t byte_value)
Build AnnotationParameterValue instance.
static void empty_flags_consistency(T flags)
Check empty flags consistency.
Definition TypeObjectUtils.hpp:2170
static void plain_collection_header_consistency(const PlainCollectionHeader &header)
Check PlainCollectionHeader consistency:
static void seq_ldefn_consistency(const PlainSequenceLElemDefn &plain_seq)
Check PlainSequenceLElemDefn consistency.
static FASTDDS_EXPORTED_API const CompleteStructType build_complete_struct_type(StructTypeFlag struct_flags, const CompleteStructHeader &header, const CompleteStructMemberSeq &member_seq)
MinimalStructHeader constructed from CompleteStructHeader.
static void common_union_member_complete_member_detail_consistency(const CommonUnionMember &common_union_member, const CompleteMemberDetail &complete_member_detail)
Check cross-consistency between CommonStructMember and CompleteMemberDetail.
static FASTDDS_EXPORTED_API void add_applied_annotation(AppliedAnnotationSeq &ann_custom_seq, const AppliedAnnotation &ann_custom)
Add AppliedAnnotation to the sequence.
static void hashid_builtin_annotation_not_applied_consistency(const eprosima::fastcdr::optional< AppliedBuiltinMemberAnnotations > &ann_builtin)
Check that hashid builtin annotation has not been set.
static void applied_annotation_seq_consistency(const AppliedAnnotationSeq &applied_annotation_seq)
Check AppliedAnnotationSeq consistency.
static void complete_enumerated_type_consistency(const CompleteEnumeratedType &complete_enumerated_type)
Check CompleteEnumeratedType consistency.
static void complete_union_member_seq_consistency(const CompleteUnionMemberSeq &complete_union_member_seq)
Check CompleteUnionMemberSeq consistency.
static FASTDDS_EXPORTED_API const AppliedVerbatimAnnotation build_applied_verbatim_annotation(PlacementKind placement, const eprosima::fastcdr::fixed_string< 32 > &language, const std::string &text)
Build AppliedVerbatimAnnotation instance.
static FASTDDS_EXPORTED_API void add_applied_annotation_parameter(AppliedAnnotationParameterSeq ¶m_seq, const AppliedAnnotationParameter ¶m)
Add AppliedAnnotationParameter to the sequence.
static FASTDDS_EXPORTED_API const CommonDiscriminatorMember build_common_discriminator_member(UnionDiscriminatorFlag member_flags, const TypeIdentifier &type_id)
MinimalUnionMember constructed from CompleteUnionMember.
static EquivalenceKind get_map_component_equiv_kind_for_consistency(const TypeIdentifier &identifier)
Retrieves the equivalence kind of a component within a map.
static FASTDDS_EXPORTED_API const CompleteSequenceType build_complete_sequence_type(CollectionTypeFlag collection_flag, const CompleteCollectionHeader &header, const CompleteCollectionElement &element)
MinimalCollectionHeader constructed from CompleteCollectionHeader.
static void complete_bitfield_consistency(const CompleteBitfield &complete_bitfield)
Check CompleteBitfield consistency.
static void complete_struct_member_consistency(const CompleteStructMember &complete_struct_member)
Check CompleteStructMember consistency.
static FASTDDS_EXPORTED_API const CompleteArrayType build_complete_array_type(CollectionTypeFlag collection_flag, const CompleteArrayHeader &header, const CompleteCollectionElement &element)
MinimalArrayHeader constructed from CompleteArrayHeader.
static void complete_struct_type_consistency(const CompleteStructType &complete_struct_type)
Check CompleteStructType consistency.
static void l_bound_consistency(LBound bound)
TypeObjectHashId is always consistent.
static FASTDDS_EXPORTED_API const PlainSequenceLElemDefn build_plain_sequence_l_elem_defn(const PlainCollectionHeader &header, LBound l_bound, const eprosima::fastcdr::external< TypeIdentifier > &element_identifier)
Build PlainSequenceLElemDefn instance.
static void complete_alias_body_consistency(const CompleteAliasBody &complete_alias_body)
Check CompleteAliasBody consistency.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_s_string_type_identifier(const StringSTypeDefn &string, const std::string &type_name, TypeIdentifierPair &type_ids, bool wstring=false)
Primitive types are registered when TypeObjectRegistry is instantiated.
static FASTDDS_EXPORTED_API const CompleteBitsetHeader build_complete_bitset_header(const CompleteTypeDetail &detail)
MinimalBitfield constructed from CompleteBitfield.
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_s_array_type_identifier(const PlainArraySElemDefn &plain_array, const std::string &type_name, TypeIdentifierPair &type_ids)
Register small array TypeIdentifier into TypeObjectRegistry.
static FASTDDS_EXPORTED_API const PlainCollectionHeader build_plain_collection_header(EquivalenceKind equiv_kind, CollectionElementFlag element_flags)
Build PlainCollectionHeader instance.
static FASTDDS_EXPORTED_API void add_union_case_label(UnionCaseLabelSeq &label_seq, int32_t label)
MinimalStructType constructed from CompleteStructType.
static void enumerated_literal_flag_consistency(EnumeratedLiteralFlag enumerated_literal_flag)
Check EnumeratedLiteralFlag consistency: any flag different from default are not set.
static FASTDDS_EXPORTED_API const CompleteBitsetType build_complete_bitset_type(BitsetTypeFlag bitset_flags, const CompleteBitsetHeader &header, const CompleteBitfieldSeq &field_seq)
MinimalBitsetHeader constructed from CompleteBitsetHeader.
static FASTDDS_EXPORTED_API StructTypeFlag build_struct_type_flag(ExtensibilityKind extensibility_kind, bool nested, bool autoid_hash)
AnnotationParameterFlag: Unused.
static FASTDDS_EXPORTED_API const CompleteEnumeratedLiteral build_complete_enumerated_literal(const CommonEnumeratedLiteral &common, const CompleteMemberDetail &detail)
Build CompleteEnumeratedLiteral instance.
friend class eprosima::fastdds::dds::DynamicTypeBuilderFactoryImpl
Definition TypeObjectUtils.hpp:1959
static FASTDDS_EXPORTED_API ReturnCode_t build_and_register_array_type_object(const CompleteArrayType &array_type, const std::string &type_name)
Register array TypeObject into TypeObjectRegistry.
static void complete_bitset_header_consistency(const CompleteBitsetHeader &complete_bitset_header)
Check CompleteBitsetHeader consistency.
static FASTDDS_EXPORTED_API const AppliedBuiltinMemberAnnotations build_applied_builtin_member_annotations(const eprosima::fastcdr::optional< std::string > &unit, const eprosima::fastcdr::optional< AnnotationParameterValue > &min, const eprosima::fastcdr::optional< AnnotationParameterValue > &max, const eprosima::fastcdr::optional< std::string > &hash_id)
Build AppliedBuiltinMemberAnnotations instance.
static FASTDDS_EXPORTED_API const CommonUnionMember build_common_union_member(MemberId member_id, UnionMemberFlag member_flags, const TypeIdentifier &type_id, const UnionCaseLabelSeq &label_seq)
Build CommonUnionMember instance.
static void collection_element_flag_consistency(CollectionElementFlag collection_element_flag)
Check CollectionElementFlag consistency.
static void complete_member_detail_consistency(const CompleteMemberDetail &complete_member_detail)
Check CompleteMemberDetail consistency.
static FASTDDS_EXPORTED_API const CommonAliasBody build_common_alias_body(AliasMemberFlag related_flags, const TypeIdentifier &related_type)
MinimalAnnotationType constructed from CompleteAnnotationType.
Definition DomainParticipant.hpp:45
eprosima::fastdds::dds::xtypes::MemberFlag BitsetMemberFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:70
eprosima::fastdds::dds::xtypes::TypeFlag BitsetTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:78
eprosima::fastdds::dds::xtypes::TypeFlag StructTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:71
std::vector< CompleteUnionMember > CompleteUnionMemberSeq
Definition dds_xtypes_typeobject.hpp:9748
std::vector< AppliedAnnotation > AppliedAnnotationSeq
Definition dds_xtypes_typeobject.hpp:6589
eprosima::fastdds::dds::xtypes::TypeFlag AliasTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:75
eprosima::fastdds::dds::xtypes::MemberFlag BitflagFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:69
std::vector< CompleteEnumeratedLiteral > CompleteEnumeratedLiteralSeq
Definition dds_xtypes_typeobject.hpp:17191
eprosima::fastdds::dds::xtypes::MemberFlag StructMemberFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:63
std::vector< LBound > LBoundSeq
Definition dds_xtypes_typeobject.hpp:134
uint32_t LBound
Definition dds_xtypes_typeobject.hpp:132
eprosima::fastdds::dds::xtypes::TypeFlag CollectionTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:73
eprosima::fastcdr::fixed_string< TYPE_NAME_MAX_LENGTH > QualifiedTypeName
Definition dds_xtypes_typeobject.hpp:124
uint8_t EquivalenceKind
Definition dds_xtypes_typeobject.hpp:72
std::vector< SBound > SBoundSeq
Definition dds_xtypes_typeobject.hpp:139
eprosima::fastdds::dds::xtypes::MemberFlag EnumeratedLiteralFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:66
std::vector< AppliedAnnotationParameter > AppliedAnnotationParameterSeq
Definition dds_xtypes_typeobject.hpp:6407
eprosima::fastcdr::fixed_string< MEMBER_NAME_MAX_LENGTH > MemberName
Definition dds_xtypes_typeobject.hpp:121
eprosima::fastdds::dds::xtypes::TypeFlag AnnotationTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:74
eprosima::fastdds::dds::xtypes::TypeFlag UnionTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:72
eprosima::fastdds::dds::ReturnCode_t ReturnCode_t
Definition TypeObjectUtils.hpp:45
std::array< uint8_t, 4 > NameHash
Definition dds_xtypes_typeobject.hpp:130
eprosima::fastdds::dds::xtypes::TypeFlag EnumTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:76
std::array< uint8_t, 14 > EquivalenceHash
Definition dds_xtypes_typeobject.hpp:128
std::vector< CompleteBitfield > CompleteBitfieldSeq
Definition dds_xtypes_typeobject.hpp:19804
eprosima::fastdds::dds::xtypes::MemberFlag UnionMemberFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:64
std::vector< int32_t > UnionCaseLabelSeq
Definition dds_xtypes_typeobject.hpp:9302
const LBound INVALID_LBOUND
Definition dds_xtypes_typeobject.hpp:136
eprosima::fastdds::dds::xtypes::TypeFlag BitmaskTypeFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:77
uint16_t BitBound
Definition dds_xtypes_typeobject.hpp:16839
ExtensibilityKind
Definition common.hpp:31
TryConstructFailAction
Definition common.hpp:38
std::vector< CompleteBitflag > CompleteBitflagSeq
Definition dds_xtypes_typeobject.hpp:18615
eprosima::fastdds::dds::xtypes::MemberFlag AliasMemberFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:68
eprosima::fastdds::dds::xtypes::MemberFlag AnnotationParameterFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:67
std::vector< CompleteAnnotationParameter > CompleteAnnotationParameterSeq
Definition dds_xtypes_typeobject.hpp:11693
uint16_t MemberFlag
Definition dds_xtypes_typeobject.hpp:440
eprosima::fastdds::dds::xtypes::MemberFlag UnionDiscriminatorFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:65
uint16_t TypeFlag
Definition dds_xtypes_typeobject.hpp:472
std::vector< CompleteStructMember > CompleteStructMemberSeq
Definition dds_xtypes_typeobject.hpp:7849
PlacementKind
PlacementKind values (verbatim annotation)
Definition common.hpp:48
eprosima::fastdds::dds::xtypes::MemberFlag CollectionElementFlag
Definition dds_xtypes_typeobjectPubSubTypes.hpp:62
uint8_t SBound
Definition dds_xtypes_typeobject.hpp:137
uint32_t MemberId
Definition dynamic_language_binding.hpp:122
int32_t ReturnCode_t
Definition DDSReturnCode.hpp:59
uint8_t TypeKind
Definition dynamic_language_binding.hpp:70