OpenDDS  Snapshot(2021/07/08-11:57)
Classes | Typedefs | Functions | Variables
OpenDDS::XTypes Namespace Reference

Classes

struct  AnnotationParameterValue
 
struct  AppliedAnnotation
 
struct  AppliedAnnotationParameter
 
struct  AppliedBuiltinMemberAnnotations
 
struct  AppliedBuiltinTypeAnnotations
 
struct  AppliedVerbatimAnnotation
 
struct  CommonAliasBody
 
struct  CommonAnnotationParameter
 
struct  CommonArrayHeader
 
struct  CommonBitfield
 
struct  CommonBitflag
 
struct  CommonBitmaskHeader
 
struct  CommonCollectionElement
 
struct  CommonCollectionHeader
 
struct  CommonDiscriminatorMember
 
struct  CommonEnumeratedHeader
 
struct  CommonEnumeratedLiteral
 
struct  CommonStructMember
 
struct  CommonUnionMember
 
struct  CompleteAliasBody
 
struct  CompleteAliasHeader
 
struct  CompleteAliasType
 
struct  CompleteAnnotationHeader
 
struct  CompleteAnnotationParameter
 
struct  CompleteAnnotationType
 
struct  CompleteArrayHeader
 
struct  CompleteArrayType
 
struct  CompleteBitfield
 
struct  CompleteBitflag
 
struct  CompleteBitmaskType
 
struct  CompleteBitsetHeader
 
struct  CompleteBitsetType
 
struct  CompleteCollectionElement
 
struct  CompleteCollectionHeader
 
struct  CompleteDiscriminatorMember
 
struct  CompleteElementDetail
 
struct  CompleteEnumeratedHeader
 
struct  CompleteEnumeratedLiteral
 
struct  CompleteEnumeratedType
 
struct  CompleteExtendedType
 
struct  CompleteMapType
 
struct  CompleteMemberDetail
 
struct  CompleteSequenceType
 
struct  CompleteStructHeader
 
struct  CompleteStructMember
 
struct  CompleteStructType
 
struct  CompleteTypeDetail
 
struct  CompleteTypeObject
 
struct  CompleteUnionHeader
 
struct  CompleteUnionMember
 
struct  CompleteUnionType
 
struct  EquivalenceHash_tag
 
struct  EquivalenceHashWrapper
 
struct  ExtendedAnnotationParameterValue
 
struct  ExtendedTypeDefn
 
class  External
 
class  Fake_TAO_Array_Forany_T
 
struct  MinimalAliasBody
 
struct  MinimalAliasHeader
 
struct  MinimalAliasType
 
struct  MinimalAnnotationHeader
 
struct  MinimalAnnotationParameter
 
struct  MinimalAnnotationType
 
struct  MinimalArrayHeader
 
struct  MinimalArrayType
 
struct  MinimalBitfield
 
struct  MinimalBitflag
 
struct  MinimalBitmaskType
 
struct  MinimalBitsetHeader
 
struct  MinimalBitsetType
 
struct  MinimalCollectionElement
 
struct  MinimalCollectionHeader
 
struct  MinimalDiscriminatorMember
 
struct  MinimalEnumeratedHeader
 
struct  MinimalEnumeratedLiteral
 
struct  MinimalEnumeratedType
 
struct  MinimalExtendedType
 
struct  MinimalMapType
 
struct  MinimalMemberDetail
 
struct  MinimalSequenceType
 
struct  MinimalStructHeader
 
struct  MinimalStructMember
 
struct  MinimalStructType
 
struct  MinimalTypeDetail
 
struct  MinimalTypeObject
 
struct  MinimalUnionHeader
 
struct  MinimalUnionMember
 
struct  MinimalUnionType
 
struct  NameHash_tag
 
struct  OctetSeq32
 
struct  Optional
 
struct  PlainArrayLElemDefn
 
struct  PlainArraySElemDefn
 
struct  PlainCollectionHeader
 
struct  PlainMapLTypeDefn
 
struct  PlainMapSTypeDefn
 
struct  PlainSequenceLElemDefn
 
struct  PlainSequenceSElemDefn
 
struct  Sequence
 
struct  StringLTypeDefn
 
struct  StringSTypeDefn
 
struct  StronglyConnectedComponentId
 
class  TypeAssignability
 
struct  TypeConsistencyAttributes
 
class  TypeIdentifier
 
struct  TypeIdentifierPair
 
struct  TypeIdentifierTypeObjectPair
 
struct  TypeIdentifierWithDependencies
 
struct  TypeIdentifierWithSize
 
struct  TypeInformation
 
struct  TypeLookup_Call
 
struct  TypeLookup_getTypeDependencies_In
 
struct  TypeLookup_getTypeDependencies_Out
 
struct  TypeLookup_getTypeDependencies_Result
 
struct  TypeLookup_getTypes_In
 
struct  TypeLookup_getTypes_Out
 
struct  TypeLookup_getTypes_Result
 
struct  TypeLookup_Reply
 
struct  TypeLookup_Request
 
struct  TypeLookup_Return
 
class  TypeLookupService
 
struct  TypeMapBuilder
 
struct  TypeObject
 
struct  TypeObjectHashId
 

Typedefs

typedef std::pair< const MinimalStructMember *, const MinimalStructMember * > MemberPair
 
typedef DCPS::RcHandle< TypeLookupServiceTypeLookupService_rch
 
typedef ACE_CDR::Octet EquivalenceKind
 
typedef ACE_CDR::Octet TypeKind
 
typedef ACE_CDR::Octet TypeIdentifierKind
 
typedef OPENDDS_STRING MemberName
 
typedef OPENDDS_STRING QualifiedTypeName
 
typedef ACE_CDR::Octet PrimitiveTypeId
 
typedef ACE_CDR::Octet EquivalenceHash[14]
 
typedef ACE_CDR::Octet EquivalenceHash_slice
 
typedef Fake_TAO_Array_Forany_T< EquivalenceHash, EquivalenceHash_slice, EquivalenceHash_tagEquivalenceHash_forany
 
typedef ACE_CDR::Octet NameHash[4]
 
typedef ACE_CDR::Octet NameHash_slice
 
typedef Fake_TAO_Array_Forany_T< NameHash, NameHash_slice, NameHash_tagNameHash_forany
 
typedef ACE_CDR::ULong LBound
 
typedef Sequence< LBoundLBoundSeq
 
typedef ACE_CDR::Octet SBound
 
typedef Sequence< SBoundSBoundSeq
 
typedef ACE_CDR::UShort MemberFlag
 
typedef MemberFlag CollectionElementFlag
 
typedef MemberFlag StructMemberFlag
 
typedef MemberFlag UnionMemberFlag
 
typedef MemberFlag UnionDiscriminatorFlag
 
typedef MemberFlag EnumeratedLiteralFlag
 
typedef MemberFlag AnnotationParameterFlag
 
typedef MemberFlag AliasMemberFlag
 
typedef MemberFlag BitflagFlag
 
typedef MemberFlag BitsetMemberFlag
 
typedef ACE_CDR::UShort TypeFlag
 
typedef TypeFlag StructTypeFlag
 
typedef TypeFlag UnionTypeFlag
 
typedef TypeFlag CollectionTypeFlag
 
typedef TypeFlag AnnotationTypeFlag
 
typedef TypeFlag AliasTypeFlag
 
typedef TypeFlag EnumTypeFlag
 
typedef TypeFlag BitmaskTypeFlag
 
typedef TypeFlag BitsetTypeFlag
 
typedef Sequence< TypeIdentifierTypeIdentifierSeq
 
typedef ACE_CDR::ULong MemberId
 
typedef Sequence< AppliedAnnotationParameterAppliedAnnotationParameterSeq
 
typedef Sequence< AppliedAnnotationAppliedAnnotationSeq
 
typedef Sequence< CompleteStructMemberCompleteStructMemberSeq
 
typedef Sequence< MinimalStructMemberMinimalStructMemberSeq
 
typedef Sequence< ACE_CDR::LongUnionCaseLabelSeq
 
typedef Sequence< CompleteUnionMemberCompleteUnionMemberSeq
 
typedef Sequence< MinimalUnionMemberMinimalUnionMemberSeq
 
typedef Sequence< CompleteAnnotationParameterCompleteAnnotationParameterSeq
 
typedef Sequence< MinimalAnnotationParameterMinimalAnnotationParameterSeq
 
typedef ACE_CDR::UShort BitBound
 
typedef Sequence< CompleteEnumeratedLiteralCompleteEnumeratedLiteralSeq
 
typedef Sequence< MinimalEnumeratedLiteralMinimalEnumeratedLiteralSeq
 
typedef Sequence< CompleteBitflagCompleteBitflagSeq
 
typedef Sequence< MinimalBitflagMinimalBitflagSeq
 
typedef CompleteEnumeratedHeader CompleteBitmaskHeader
 
typedef MinimalEnumeratedHeader MinimalBitmaskHeader
 
typedef Sequence< CompleteBitfieldCompleteBitfieldSeq
 
typedef Sequence< MinimalBitfieldMinimalBitfieldSeq
 
typedef Sequence< TypeObjectTypeObjectSeq
 
typedef TypeObjectSeq StronglyConnectedComponent
 
typedef Sequence< TypeIdentifierTypeObjectPairTypeIdentifierTypeObjectPairSeq
 
typedef Sequence< TypeIdentifierPairTypeIdentifierPairSeq
 
typedef Sequence< TypeIdentifierWithSizeTypeIdentifierWithSizeSeq
 
typedef Sequence< TypeIdentifierWithDependenciesTypeIdentifierWithDependenciesSeq
 

Functions

typedef OPENDDS_VECTOR (MemberPair) MatchedSet
 
const Encodingget_typeobject_encoding ()
 
TypeIdentifier makeTypeIdentifier (const TypeObject &type_object, const DCPS::Encoding *encoding_option)
 
ACE_CDR::ULong hash_member_name_to_id (const OPENDDS_STRING &name)
 
void hash_member_name (NameHash &name_hash, const OPENDDS_STRING &name)
 
bool is_fully_descriptive (const TypeIdentifier &ti)
 
bool is_plain_collection (const TypeIdentifier &ti)
 
bool has_type_object (const TypeIdentifier &ti)
 
void compute_dependencies (const TypeMap &type_map, const TypeIdentifier &type_identifier, OPENDDS_SET(TypeIdentifier)&dependencies)
 
bool write_empty_xcdr2_nonfinal (DCPS::Serializer &strm)
 
bool read_empty_xcdr2_nonfinal (DCPS::Serializer &strm)
 
template<typename T >
void serialize_type_info (const TypeInformation &type_info, T &seq, const DCPS::Encoding *encoding_option=0)
 
template<typename T >
bool deserialize_type_info (TypeInformation &type_info, const T &seq)
 
typedef OPENDDS_MAP (TypeIdentifier, TypeObject) TypeMap
 

Variables

const ACE_CDR::ULong TypeLookup_getTypes_HashId = 0x018252d3
 
const ACE_CDR::ULong TypeLookup_getDependencies_HashId = 0x05aafb31
 
const EquivalenceKind EK_MINIMAL = 0xF1
 
const EquivalenceKind EK_COMPLETE = 0xF2
 
const EquivalenceKind EK_BOTH = 0xF3
 
const TypeKind TK_NONE = 0x00
 
const TypeKind TK_BOOLEAN = 0x01
 
const TypeKind TK_BYTE = 0x02
 
const TypeKind TK_INT16 = 0x03
 
const TypeKind TK_INT32 = 0x04
 
const TypeKind TK_INT64 = 0x05
 
const TypeKind TK_UINT16 = 0x06
 
const TypeKind TK_UINT32 = 0x07
 
const TypeKind TK_UINT64 = 0x08
 
const TypeKind TK_FLOAT32 = 0x09
 
const TypeKind TK_FLOAT64 = 0x0A
 
const TypeKind TK_FLOAT128 = 0x0B
 
const TypeKind TK_INT8 = 0x0C
 
const TypeKind TK_UINT8 = 0x0D
 
const TypeKind TK_CHAR8 = 0x10
 
const TypeKind TK_CHAR16 = 0x11
 
const TypeKind TK_STRING8 = 0x20
 
const TypeKind TK_STRING16 = 0x21
 
const TypeKind TK_ALIAS = 0x30
 
const TypeKind TK_ENUM = 0x40
 
const TypeKind TK_BITMASK = 0x41
 
const TypeKind TK_ANNOTATION = 0x50
 
const TypeKind TK_STRUCTURE = 0x51
 
const TypeKind TK_UNION = 0x52
 
const TypeKind TK_BITSET = 0x53
 
const TypeKind TK_SEQUENCE = 0x60
 
const TypeKind TK_ARRAY = 0x61
 
const TypeKind TK_MAP = 0x62
 
const TypeIdentifierKind TI_STRING8_SMALL = 0x70
 
const TypeIdentifierKind TI_STRING8_LARGE = 0x71
 
const TypeIdentifierKind TI_STRING16_SMALL = 0x72
 
const TypeIdentifierKind TI_STRING16_LARGE = 0x73
 
const TypeIdentifierKind TI_PLAIN_SEQUENCE_SMALL = 0x80
 
const TypeIdentifierKind TI_PLAIN_SEQUENCE_LARGE = 0x81
 
const TypeIdentifierKind TI_PLAIN_ARRAY_SMALL = 0x90
 
const TypeIdentifierKind TI_PLAIN_ARRAY_LARGE = 0x91
 
const TypeIdentifierKind TI_PLAIN_MAP_SMALL = 0xA0
 
const TypeIdentifierKind TI_PLAIN_MAP_LARGE = 0xA1
 
const TypeIdentifierKind TI_STRONGLY_CONNECTED_COMPONENT = 0xB0
 
const ACE_CDR::Long MEMBER_NAME_MAX_LENGTH = 256
 
const ACE_CDR::Long TYPE_NAME_MAX_LENGTH = 256
 
const LBound INVALID_LBOUND = 0
 
const SBound INVALID_SBOUND = 0
 
const MemberFlag TRY_CONSTRUCT1 = 1 << 0
 
const MemberFlag TRY_CONSTRUCT2 = 1 << 1
 
const MemberFlag IS_EXTERNAL = 1 << 2
 
const MemberFlag IS_OPTIONAL = 1 << 3
 
const MemberFlag IS_MUST_UNDERSTAND = 1 << 4
 
const MemberFlag IS_KEY = 1 << 5
 
const MemberFlag IS_DEFAULT = 1 << 6
 
const MemberFlag TryConstructDiscardValue = TRY_CONSTRUCT1
 
const MemberFlag TryConstructUseDefaultValue = TRY_CONSTRUCT2
 
const MemberFlag TryConstructTrimValue = TRY_CONSTRUCT1 | TRY_CONSTRUCT2
 
const MemberFlag MemberFlagMinimalMask = 0x003f
 
const TypeFlag IS_FINAL = 1 << 0
 
const TypeFlag IS_APPENDABLE = 1 << 1
 
const TypeFlag IS_MUTABLE = 1 << 2
 
const TypeFlag IS_NESTED = 1 << 3
 
const TypeFlag IS_AUTOID_HASH = 1 << 4
 
const TypeFlag TypeFlagMinimalMask = 0x0007
 
const ACE_CDR::ULong ANNOTATION_STR_VALUE_MAX_LEN = 128
 
const ACE_CDR::ULong ANNOTATION_OCTETSEC_VALUE_MAX_LEN = 128
 

Typedef Documentation

◆ AliasMemberFlag

Definition at line 302 of file TypeObject.h.

◆ AliasTypeFlag

Definition at line 329 of file TypeObject.h.

◆ AnnotationParameterFlag

Definition at line 301 of file TypeObject.h.

◆ AnnotationTypeFlag

Definition at line 328 of file TypeObject.h.

◆ AppliedAnnotationParameterSeq

Definition at line 893 of file TypeObject.h.

◆ AppliedAnnotationSeq

Definition at line 900 of file TypeObject.h.

◆ BitBound

Definition at line 1407 of file TypeObject.h.

◆ BitflagFlag

Definition at line 303 of file TypeObject.h.

◆ BitmaskTypeFlag

Definition at line 331 of file TypeObject.h.

◆ BitsetMemberFlag

Definition at line 304 of file TypeObject.h.

◆ BitsetTypeFlag

Definition at line 332 of file TypeObject.h.

◆ CollectionElementFlag

Definition at line 296 of file TypeObject.h.

◆ CollectionTypeFlag

Definition at line 327 of file TypeObject.h.

◆ CompleteAnnotationParameterSeq

Definition at line 1183 of file TypeObject.h.

◆ CompleteBitfieldSeq

Definition at line 1558 of file TypeObject.h.

◆ CompleteBitflagSeq

Definition at line 1516 of file TypeObject.h.

◆ CompleteBitmaskHeader

Definition at line 1529 of file TypeObject.h.

◆ CompleteEnumeratedLiteralSeq

Definition at line 1431 of file TypeObject.h.

◆ CompleteStructMemberSeq

Definition at line 964 of file TypeObject.h.

◆ CompleteUnionMemberSeq

Definition at line 1072 of file TypeObject.h.

◆ EnumeratedLiteralFlag

Definition at line 300 of file TypeObject.h.

◆ EnumTypeFlag

Definition at line 330 of file TypeObject.h.

◆ EquivalenceHash

typedef ACE_CDR::Octet OpenDDS::XTypes::EquivalenceHash[14]

Definition at line 216 of file TypeObject.h.

◆ EquivalenceHash_forany

Definition at line 219 of file TypeObject.h.

◆ EquivalenceHash_slice

Definition at line 218 of file TypeObject.h.

◆ EquivalenceKind

Definition at line 133 of file TypeObject.h.

◆ LBound

Definition at line 230 of file TypeObject.h.

◆ LBoundSeq

Definition at line 231 of file TypeObject.h.

◆ MemberFlag

Definition at line 286 of file TypeObject.h.

◆ MemberId

Definition at line 817 of file TypeObject.h.

◆ MemberName

Definition at line 204 of file TypeObject.h.

◆ MemberPair

Definition at line 24 of file TypeAssignability.h.

◆ MinimalAnnotationParameterSeq

Definition at line 1191 of file TypeObject.h.

◆ MinimalBitfieldSeq

Definition at line 1565 of file TypeObject.h.

◆ MinimalBitflagSeq

Definition at line 1523 of file TypeObject.h.

◆ MinimalBitmaskHeader

Definition at line 1531 of file TypeObject.h.

◆ MinimalEnumeratedLiteralSeq

Definition at line 1451 of file TypeObject.h.

◆ MinimalStructMemberSeq

Definition at line 985 of file TypeObject.h.

◆ MinimalUnionMemberSeq

Definition at line 1093 of file TypeObject.h.

◆ NameHash

typedef ACE_CDR::Octet OpenDDS::XTypes::NameHash[4]

Definition at line 224 of file TypeObject.h.

◆ NameHash_forany

Definition at line 227 of file TypeObject.h.

◆ NameHash_slice

Definition at line 226 of file TypeObject.h.

◆ PrimitiveTypeId

Definition at line 212 of file TypeObject.h.

◆ QualifiedTypeName

Definition at line 209 of file TypeObject.h.

◆ SBound

Definition at line 235 of file TypeObject.h.

◆ SBoundSeq

Definition at line 236 of file TypeObject.h.

◆ StronglyConnectedComponent

Definition at line 1773 of file TypeObject.h.

◆ StructMemberFlag

Definition at line 297 of file TypeObject.h.

◆ StructTypeFlag

Definition at line 325 of file TypeObject.h.

◆ TypeFlag

Definition at line 317 of file TypeObject.h.

◆ TypeIdentifierKind

Definition at line 183 of file TypeObject.h.

◆ TypeIdentifierPairSeq

Definition at line 1799 of file TypeObject.h.

◆ TypeIdentifierSeq

Definition at line 737 of file TypeObject.h.

◆ TypeIdentifierTypeObjectPairSeq

Definition at line 1786 of file TypeObject.h.

◆ TypeIdentifierWithDependenciesSeq

Definition at line 1814 of file TypeObject.h.

◆ TypeIdentifierWithSizeSeq

Definition at line 1805 of file TypeObject.h.

◆ TypeKind

Definition at line 139 of file TypeObject.h.

◆ TypeLookupService_rch

Definition at line 69 of file TypeLookupService.h.

◆ TypeObjectSeq

Definition at line 1767 of file TypeObject.h.

◆ UnionCaseLabelSeq

Definition at line 1045 of file TypeObject.h.

◆ UnionDiscriminatorFlag

Definition at line 299 of file TypeObject.h.

◆ UnionMemberFlag

Definition at line 298 of file TypeObject.h.

◆ UnionTypeFlag

Definition at line 326 of file TypeObject.h.

Function Documentation

◆ compute_dependencies()

void OpenDDS::XTypes::compute_dependencies ( const TypeMap &  type_map,
const TypeIdentifier type_identifier,
OPENDDS_SET(TypeIdentifier)&  dependencies 
)

Definition at line 728 of file TypeObject.cpp.

References EK_COMPLETE, EK_MINIMAL, OpenDDS::XTypes::TypeIdentifier::kind(), TI_PLAIN_ARRAY_LARGE, TI_PLAIN_ARRAY_SMALL, TI_PLAIN_MAP_LARGE, TI_PLAIN_MAP_SMALL, TI_PLAIN_SEQUENCE_LARGE, TI_PLAIN_SEQUENCE_SMALL, TI_STRING16_LARGE, TI_STRING16_SMALL, TI_STRING8_LARGE, TI_STRING8_SMALL, and TI_STRONGLY_CONNECTED_COMPONENT.

Referenced by has_type_object(), OpenDDS::XTypes::TypeMapBuilder::operator TypeMap &(), and OpenDDS::DCPS::TypeSupportImpl::populate_dependencies().

731 {
732  if (dependencies.count(type_identifier) != 0) {
733  return;
734  }
735 
736  dependencies.insert(type_identifier);
737 
738  switch (type_identifier.kind()) {
739  case TI_STRING8_SMALL:
740  case TI_STRING16_SMALL:
741  compute_dependencies(type_map, type_identifier.string_sdefn(), dependencies);
742  break;
743  case TI_STRING8_LARGE:
744  case TI_STRING16_LARGE:
745  compute_dependencies(type_map, type_identifier.string_ldefn(), dependencies);
746  break;
748  compute_dependencies(type_map, type_identifier.seq_sdefn(), dependencies);
749  break;
751  compute_dependencies(type_map, type_identifier.seq_ldefn(), dependencies);
752  break;
754  compute_dependencies(type_map, type_identifier.array_sdefn(), dependencies);
755  break;
757  compute_dependencies(type_map, type_identifier.array_ldefn(), dependencies);
758  break;
759  case TI_PLAIN_MAP_SMALL:
760  compute_dependencies(type_map, type_identifier.map_sdefn(), dependencies);
761  break;
762  case TI_PLAIN_MAP_LARGE:
763  compute_dependencies(type_map, type_identifier.map_ldefn(), dependencies);
764  break;
766  compute_dependencies(type_map, type_identifier.sc_component_id(), dependencies);
767  break;
768  case EK_COMPLETE:
769  case EK_MINIMAL:
770  {
771  TypeMap::const_iterator pos = type_map.find(type_identifier);
772  if (pos != type_map.end()) {
773  compute_dependencies(type_map, pos->second, dependencies);
774  }
775  break;
776  }
777  }
778 }
const EquivalenceKind EK_COMPLETE
Definition: TypeObject.h:135
const TypeIdentifierKind TI_PLAIN_MAP_LARGE
Definition: TypeObject.h:196
const TypeIdentifierKind TI_PLAIN_SEQUENCE_LARGE
Definition: TypeObject.h:190
const TypeIdentifierKind TI_STRONGLY_CONNECTED_COMPONENT
Definition: TypeObject.h:198
const TypeIdentifierKind TI_PLAIN_SEQUENCE_SMALL
Definition: TypeObject.h:189
const EquivalenceKind EK_MINIMAL
Definition: TypeObject.h:134
const TypeIdentifierKind TI_PLAIN_ARRAY_SMALL
Definition: TypeObject.h:192
const TypeIdentifierKind TI_STRING8_LARGE
Definition: TypeObject.h:185
const TypeIdentifierKind TI_PLAIN_MAP_SMALL
Definition: TypeObject.h:195
const TypeIdentifierKind TI_STRING16_LARGE
Definition: TypeObject.h:187
void compute_dependencies(const TypeMap &type_map, const TypeIdentifier &type_identifier, OPENDDS_SET(TypeIdentifier)&dependencies)
Definition: TypeObject.cpp:728
const TypeIdentifierKind TI_STRING8_SMALL
Definition: TypeObject.h:184
const TypeIdentifierKind TI_PLAIN_ARRAY_LARGE
Definition: TypeObject.h:193
const TypeIdentifierKind TI_STRING16_SMALL
Definition: TypeObject.h:186

◆ deserialize_type_info()

template<typename T >
bool OpenDDS::XTypes::deserialize_type_info ( TypeInformation type_info,
const T &  seq 
)

Definition at line 1844 of file TypeObject.h.

References ACE_ERROR, ACE_TEXT(), get_typeobject_encoding(), has_type_object(), hash_member_name(), hash_member_name_to_id(), is_fully_descriptive(), is_plain_collection(), LM_ERROR, OpenDDS_Dcps_Export, OPENDDS_MAP(), and OPENDDS_STRING.

1845  {
1846  DCPS::MessageBlockHelper<T> helper(seq);
1847  DCPS::Serializer serializer(helper, XTypes::get_typeobject_encoding());
1848  if (!(serializer >> type_info)) {
1849  ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) ERROR: deserialize_type_info ")
1850  ACE_TEXT("deserialization of type information failed.\n")));
1851  return false;
1852  }
1853  return true;
1854  }
#define ACE_ERROR(X)
ACE_TEXT("TCP_Factory")
const Encoding & get_typeobject_encoding()
Definition: TypeObject.cpp:21

◆ get_typeobject_encoding()

OpenDDS_Dcps_Export const DCPS::Encoding & OpenDDS::XTypes::get_typeobject_encoding ( )

◆ has_type_object()

OpenDDS_Dcps_Export bool OpenDDS::XTypes::has_type_object ( const TypeIdentifier ti)

Definition at line 318 of file TypeObject.cpp.

References OpenDDS::XTypes::MinimalTypeObject::alias_type, OpenDDS::XTypes::MinimalTypeObject::annotation_type, OpenDDS::XTypes::MinimalTypeObject::array_type, OpenDDS::XTypes::MinimalStructHeader::base_type, OpenDDS::XTypes::Sequence< T >::begin(), OpenDDS::XTypes::MinimalTypeObject::bitmask_type, OpenDDS::XTypes::MinimalTypeObject::bitset_type, OpenDDS::XTypes::MinimalAliasType::body, OpenDDS::XTypes::MinimalStructMember::common, OpenDDS::XTypes::MinimalUnionMember::common, OpenDDS::XTypes::MinimalDiscriminatorMember::common, OpenDDS::XTypes::MinimalAliasBody::common, OpenDDS::XTypes::MinimalCollectionElement::common, OpenDDS::XTypes::MinimalCollectionHeader::common, OpenDDS::XTypes::MinimalArrayHeader::common, OpenDDS::XTypes::MinimalEnumeratedLiteral::common, OpenDDS::XTypes::MinimalEnumeratedHeader::common, OpenDDS::XTypes::TypeObject::complete, compute_dependencies(), OpenDDS::XTypes::MinimalStructMember::detail, OpenDDS::XTypes::MinimalStructHeader::detail, OpenDDS::XTypes::MinimalUnionMember::detail, OpenDDS::XTypes::MinimalUnionHeader::detail, OpenDDS::XTypes::MinimalEnumeratedLiteral::detail, OpenDDS::XTypes::MinimalUnionType::discriminator, EK_COMPLETE, EK_MINIMAL, OpenDDS::XTypes::MinimalSequenceType::element, OpenDDS::XTypes::MinimalArrayType::element, OpenDDS::XTypes::PlainSequenceSElemDefn::element_identifier, OpenDDS::XTypes::PlainSequenceLElemDefn::element_identifier, OpenDDS::XTypes::PlainArraySElemDefn::element_identifier, OpenDDS::XTypes::PlainArrayLElemDefn::element_identifier, OpenDDS::XTypes::PlainMapSTypeDefn::element_identifier, OpenDDS::XTypes::PlainMapLTypeDefn::element_identifier, OpenDDS::XTypes::Sequence< T >::end(), OpenDDS::XTypes::MinimalTypeObject::enumerated_type, OpenDDS::XTypes::PlainSequenceSElemDefn::header, OpenDDS::XTypes::PlainSequenceLElemDefn::header, OpenDDS::XTypes::PlainArraySElemDefn::header, OpenDDS::XTypes::PlainArrayLElemDefn::header, OpenDDS::XTypes::PlainMapSTypeDefn::header, OpenDDS::XTypes::PlainMapLTypeDefn::header, OpenDDS::XTypes::MinimalStructType::header, OpenDDS::XTypes::MinimalUnionType::header, OpenDDS::XTypes::MinimalAliasType::header, OpenDDS::XTypes::MinimalSequenceType::header, OpenDDS::XTypes::MinimalArrayType::header, OpenDDS::XTypes::MinimalEnumeratedType::header, is_fully_descriptive(), is_plain_collection(), OpenDDS::XTypes::PlainMapSTypeDefn::key_identifier, OpenDDS::XTypes::PlainMapLTypeDefn::key_identifier, OpenDDS::XTypes::TypeIdentifier::kind(), OpenDDS::XTypes::MinimalTypeObject::kind, OpenDDS::XTypes::TypeObject::kind, OpenDDS::XTypes::MinimalEnumeratedType::literal_seq, OpenDDS::XTypes::MinimalTypeObject::map_type, OpenDDS::XTypes::MinimalStructType::member_seq, OpenDDS::XTypes::MinimalUnionType::member_seq, OpenDDS::XTypes::CommonStructMember::member_type_id, OpenDDS::XTypes::TypeObject::minimal, OPENDDS_SET, OpenDDS::XTypes::CommonAliasBody::related_type, OpenDDS::XTypes::MinimalTypeObject::sequence_type, OpenDDS::XTypes::MinimalTypeObject::struct_type, TK_ALIAS, TK_ANNOTATION, TK_ARRAY, TK_BITMASK, TK_BITSET, TK_ENUM, TK_MAP, TK_NONE, TK_SEQUENCE, TK_STRUCTURE, TK_UNION, OpenDDS::XTypes::CommonCollectionElement::type, OpenDDS::XTypes::CommonUnionMember::type_id, OpenDDS::XTypes::CommonDiscriminatorMember::type_id, and OpenDDS::XTypes::MinimalTypeObject::union_type.

Referenced by deserialize_type_info(), and OpenDDS::DCPS::TypeSupportImpl::populate_dependencies().

319 {
320  return !is_fully_descriptive(ti) && !is_plain_collection(ti) &&
321  ti.kind() != TK_NONE;
322 }
const TypeKind TK_NONE
Definition: TypeObject.h:142
bool is_plain_collection(const TypeIdentifier &ti)
Definition: TypeObject.cpp:304
bool is_fully_descriptive(const TypeIdentifier &ti)
Definition: TypeObject.cpp:265

◆ hash_member_name()

OpenDDS_Dcps_Export void OpenDDS::XTypes::hash_member_name ( NameHash name_hash,
const OPENDDS_STRING name 
)

Definition at line 257 of file TypeObject.cpp.

References OpenDDS::DCPS::MD5Hash().

Referenced by deserialize_type_info(), and typeobject_generator::generate_minimal_type_identifier().

258 {
259  unsigned char result[16];
260  DCPS::MD5Hash(result, name.c_str(), name.size());
261 
262  std::memcpy(&name_hash, result, sizeof name_hash);
263 }
void MD5Hash(MD5Result &result, const void *input, size_t size)
Definition: Hash.cpp:323

◆ hash_member_name_to_id()

OpenDDS_Dcps_Export ACE_CDR::ULong OpenDDS::XTypes::hash_member_name_to_id ( const OPENDDS_STRING name)

Definition at line 246 of file TypeObject.cpp.

References OpenDDS::DCPS::MD5Hash().

Referenced by deserialize_type_info(), and invalid_option().

247 {
248  ACE_CDR::ULong name_hash;
249 
250  unsigned char result[16];
251  DCPS::MD5Hash(result, name.c_str(), name.size());
252 
253  std::memcpy(&name_hash, result, sizeof name_hash);
254  return name_hash & 0x0FFFFFFF;
255 }
void MD5Hash(MD5Result &result, const void *input, size_t size)
Definition: Hash.cpp:323
ACE_UINT32 ULong

◆ is_fully_descriptive()

OpenDDS_Dcps_Export bool OpenDDS::XTypes::is_fully_descriptive ( const TypeIdentifier ti)

Definition at line 265 of file TypeObject.cpp.

References EK_BOTH, OpenDDS::XTypes::TypeIdentifier::kind(), TI_PLAIN_ARRAY_LARGE, TI_PLAIN_ARRAY_SMALL, TI_PLAIN_MAP_LARGE, TI_PLAIN_MAP_SMALL, TI_PLAIN_SEQUENCE_LARGE, TI_PLAIN_SEQUENCE_SMALL, TI_STRING16_LARGE, TI_STRING16_SMALL, TI_STRING8_LARGE, TI_STRING8_SMALL, TK_BOOLEAN, TK_BYTE, TK_CHAR16, TK_CHAR8, TK_FLOAT128, TK_FLOAT32, TK_FLOAT64, TK_INT16, TK_INT32, TK_INT64, TK_INT8, TK_UINT16, TK_UINT32, TK_UINT64, and TK_UINT8.

Referenced by deserialize_type_info(), typeobject_generator::generate_minimal_type_identifier(), and has_type_object().

266 {
267  switch (ti.kind()) {
268  case TK_BOOLEAN:
269  case TK_BYTE:
270  case TK_INT16:
271  case TK_INT32:
272  case TK_INT64:
273  case TK_UINT16:
274  case TK_UINT32:
275  case TK_UINT64:
276  case TK_FLOAT32:
277  case TK_FLOAT64:
278  case TK_FLOAT128:
279  case TK_INT8:
280  case TK_UINT8:
281  case TK_CHAR8:
282  case TK_CHAR16:
283  case TI_STRING8_SMALL:
284  case TI_STRING8_LARGE:
285  case TI_STRING16_SMALL:
286  case TI_STRING16_LARGE:
287  return true;
289  return ti.seq_sdefn().header.equiv_kind == EK_BOTH;
291  return ti.seq_ldefn().header.equiv_kind == EK_BOTH;
293  return ti.array_sdefn().header.equiv_kind == EK_BOTH;
295  return ti.array_ldefn().header.equiv_kind == EK_BOTH;
296  case TI_PLAIN_MAP_SMALL:
297  return ti.map_sdefn().header.equiv_kind == EK_BOTH;
298  case TI_PLAIN_MAP_LARGE:
299  return ti.map_ldefn().header.equiv_kind == EK_BOTH;
300  }
301  return false;
302 }
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:143
const TypeKind TK_FLOAT128
Definition: TypeObject.h:153
const TypeIdentifierKind TI_PLAIN_MAP_LARGE
Definition: TypeObject.h:196
const TypeIdentifierKind TI_PLAIN_SEQUENCE_LARGE
Definition: TypeObject.h:190
const TypeKind TK_FLOAT32
Definition: TypeObject.h:151
const TypeIdentifierKind TI_PLAIN_SEQUENCE_SMALL
Definition: TypeObject.h:189
const TypeIdentifierKind TI_PLAIN_ARRAY_SMALL
Definition: TypeObject.h:192
const TypeIdentifierKind TI_STRING8_LARGE
Definition: TypeObject.h:185
const TypeIdentifierKind TI_PLAIN_MAP_SMALL
Definition: TypeObject.h:195
const TypeKind TK_INT64
Definition: TypeObject.h:147
const TypeIdentifierKind TI_STRING16_LARGE
Definition: TypeObject.h:187
const TypeKind TK_INT8
Definition: TypeObject.h:154
const TypeKind TK_UINT8
Definition: TypeObject.h:155
const TypeIdentifierKind TI_STRING8_SMALL
Definition: TypeObject.h:184
const TypeKind TK_CHAR16
Definition: TypeObject.h:157
const TypeKind TK_INT32
Definition: TypeObject.h:146
const TypeKind TK_INT16
Definition: TypeObject.h:145
const TypeIdentifierKind TI_PLAIN_ARRAY_LARGE
Definition: TypeObject.h:193
const TypeKind TK_UINT64
Definition: TypeObject.h:150
const TypeKind TK_UINT32
Definition: TypeObject.h:149
const TypeKind TK_BYTE
Definition: TypeObject.h:144
const TypeKind TK_FLOAT64
Definition: TypeObject.h:152
const TypeKind TK_CHAR8
Definition: TypeObject.h:156
const EquivalenceKind EK_BOTH
Definition: TypeObject.h:136
const TypeIdentifierKind TI_STRING16_SMALL
Definition: TypeObject.h:186
const TypeKind TK_UINT16
Definition: TypeObject.h:148

◆ is_plain_collection()

OpenDDS_Dcps_Export bool OpenDDS::XTypes::is_plain_collection ( const TypeIdentifier ti)

Definition at line 304 of file TypeObject.cpp.

References OpenDDS::XTypes::TypeIdentifier::kind(), TI_PLAIN_ARRAY_LARGE, TI_PLAIN_ARRAY_SMALL, TI_PLAIN_MAP_LARGE, TI_PLAIN_MAP_SMALL, TI_PLAIN_SEQUENCE_LARGE, and TI_PLAIN_SEQUENCE_SMALL.

Referenced by deserialize_type_info(), and has_type_object().

305 {
306  switch (ti.kind()) {
311  case TI_PLAIN_MAP_SMALL:
312  case TI_PLAIN_MAP_LARGE:
313  return true;
314  }
315  return false;
316 }
const TypeIdentifierKind TI_PLAIN_MAP_LARGE
Definition: TypeObject.h:196
const TypeIdentifierKind TI_PLAIN_SEQUENCE_LARGE
Definition: TypeObject.h:190
const TypeIdentifierKind TI_PLAIN_SEQUENCE_SMALL
Definition: TypeObject.h:189
const TypeIdentifierKind TI_PLAIN_ARRAY_SMALL
Definition: TypeObject.h:192
const TypeIdentifierKind TI_PLAIN_MAP_SMALL
Definition: TypeObject.h:195
const TypeIdentifierKind TI_PLAIN_ARRAY_LARGE
Definition: TypeObject.h:193

◆ makeTypeIdentifier()

OpenDDS_Dcps_Export TypeIdentifier OpenDDS::XTypes::makeTypeIdentifier ( const TypeObject type_object,
const DCPS::Encoding encoding_option 
)

Definition at line 225 of file TypeObject.cpp.

References EK_COMPLETE, EK_MINIMAL, OpenDDS::STUN::encoding(), get_typeobject_encoding(), OpenDDS::XTypes::TypeObject::kind, ACE_Message_Block::length(), OpenDDS::DCPS::MD5Hash(), OPENDDS_ASSERT, ACE_Message_Block::rd_ptr(), and OpenDDS::DCPS::serialized_size().

Referenced by OpenDDS::DCPS::TypeSupportImpl::add_types(), typeobject_generator::generate_minimal_type_identifier(), and OpenDDS::DCPS::TypeSupportImpl::to_type_info().

226 {
227  OPENDDS_ASSERT(type_object.kind == EK_MINIMAL || type_object.kind == EK_COMPLETE);
228 
229  const Encoding& encoding = encoding_option ? *encoding_option : get_typeobject_encoding();
230  size_t size = serialized_size(encoding, type_object);
231  ACE_Message_Block buff(size);
232  DCPS::Serializer ser(&buff, encoding);
233  ser << type_object;
234 
235  unsigned char result[16];
236  DCPS::MD5Hash(result, buff.rd_ptr(), buff.length());
237 
238  // First 14 bytes of MD5 of the serialized TypeObject using XCDR
239  // version 2 with Little Endian encoding
240  TypeIdentifier ti(type_object.kind);
241  std::memcpy(ti.equivalence_hash(), result, sizeof(EquivalenceHash));
242 
243  return ti;
244 }
const EquivalenceKind EK_COMPLETE
Definition: TypeObject.h:135
#define OPENDDS_ASSERT(C)
Definition: Definitions.h:67
void MD5Hash(MD5Result &result, const void *input, size_t size)
Definition: Hash.cpp:323
const EquivalenceKind EK_MINIMAL
Definition: TypeObject.h:134
void serialized_size(const Encoding &encoding, size_t &size, const XTypes::TypeIdentifierPair &stru)
ACE_CDR::Octet EquivalenceHash[14]
Definition: TypeObject.h:216
const Encoding & get_typeobject_encoding()
Definition: TypeObject.cpp:21
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)

◆ OPENDDS_MAP()

typedef OpenDDS::XTypes::OPENDDS_MAP ( TypeIdentifier  ,
TypeObject   
)

◆ OPENDDS_VECTOR()

typedef OpenDDS::XTypes::OPENDDS_VECTOR ( MemberPair  )

◆ read_empty_xcdr2_nonfinal()

bool OpenDDS::XTypes::read_empty_xcdr2_nonfinal ( DCPS::Serializer strm)

Definition at line 787 of file TypeObject.cpp.

References OpenDDS::DCPS::Serializer::read_delimiter(), and OpenDDS::DCPS::Serializer::skip().

Referenced by OpenDDS::DCPS::operator>>().

788 {
789  size_t total_size = 0;
790  if (!strm.read_delimiter(total_size)) {
791  return false;
792  }
793  return strm.skip(total_size);
794 }

◆ serialize_type_info()

template<typename T >
void OpenDDS::XTypes::serialize_type_info ( const TypeInformation type_info,
T &  seq,
const DCPS::Encoding encoding_option = 0 
)

Definition at line 1829 of file TypeObject.h.

References ACE_ERROR, ACE_TEXT(), OpenDDS::STUN::encoding(), get_typeobject_encoding(), LM_ERROR, and OpenDDS::DCPS::serialized_size().

Referenced by OpenDDS::DCPS::InfoRepoDiscovery::add_publication(), OpenDDS::DCPS::InfoRepoDiscovery::add_subscription(), and OpenDDS::DCPS::EndpointManager< StaticDiscoveredParticipantData >::match_continue().

1831  {
1832  const DCPS::Encoding& encoding = encoding_option ? *encoding_option : get_typeobject_encoding();
1833  const size_t sz = DCPS::serialized_size(encoding, type_info);
1834  seq.length(static_cast<unsigned>(sz));
1835  DCPS::MessageBlockHelper<T> helper(seq);
1836  DCPS::Serializer serializer(helper, encoding);
1837  if (!(serializer << type_info)) {
1838  ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) ERROR: serialize_type_info ")
1839  ACE_TEXT("serialization of type information failed.\n")));
1840  }
1841  }
#define ACE_ERROR(X)
void serialized_size(const Encoding &, size_t &, const XTypes::MinimalTypeDetail &)
Definition: TypeObject.h:2036
ACE_TEXT("TCP_Factory")
const Encoding & get_typeobject_encoding()
Definition: TypeObject.cpp:21
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)

◆ write_empty_xcdr2_nonfinal()

bool OpenDDS::XTypes::write_empty_xcdr2_nonfinal ( DCPS::Serializer strm)

Definition at line 780 of file TypeObject.cpp.

References OpenDDS::DCPS::Serializer::encoding(), OpenDDS::DCPS::serialized_size_delimiter(), and OpenDDS::DCPS::Serializer::write_delimiter().

Referenced by OpenDDS::DCPS::operator<<().

781 {
782  size_t size = 0;
783  serialized_size_delimiter(strm.encoding(), size);
784  return strm.write_delimiter(size);
785 }
OpenDDS_Dcps_Export void serialized_size_delimiter(const Encoding &encoding, size_t &size)
Add delimiter to the size of a serialized size if the encoding has them.

Variable Documentation

◆ ANNOTATION_OCTETSEC_VALUE_MAX_LEN

const ACE_CDR::ULong OpenDDS::XTypes::ANNOTATION_OCTETSEC_VALUE_MAX_LEN = 128

Definition at line 819 of file TypeObject.h.

◆ ANNOTATION_STR_VALUE_MAX_LEN

const ACE_CDR::ULong OpenDDS::XTypes::ANNOTATION_STR_VALUE_MAX_LEN = 128

Definition at line 818 of file TypeObject.h.

◆ EK_BOTH

const EquivalenceKind OpenDDS::XTypes::EK_BOTH = 0xF3

◆ EK_COMPLETE

const EquivalenceKind OpenDDS::XTypes::EK_COMPLETE = 0xF2

◆ EK_MINIMAL

const EquivalenceKind OpenDDS::XTypes::EK_MINIMAL = 0xF1

Definition at line 134 of file TypeObject.h.

Referenced by OpenDDS::XTypes::TypeIdentifier::activate(), OpenDDS::XTypes::TypeAssignability::assignable(), OpenDDS::XTypes::TypeAssignability::assignable_alias(), OpenDDS::XTypes::TypeAssignability::assignable_array(), OpenDDS::XTypes::TypeAssignability::assignable_bitmask(), OpenDDS::XTypes::TypeAssignability::assignable_enum(), OpenDDS::XTypes::TypeAssignability::assignable_map(), OpenDDS::XTypes::TypeAssignability::assignable_plain_array(), OpenDDS::XTypes::TypeAssignability::assignable_plain_map(), OpenDDS::XTypes::TypeAssignability::assignable_plain_sequence(), OpenDDS::XTypes::TypeAssignability::assignable_primitive(), OpenDDS::XTypes::TypeAssignability::assignable_sequence(), OpenDDS::XTypes::TypeAssignability::assignable_string(), OpenDDS::XTypes::TypeAssignability::assignable_struct(), OpenDDS::XTypes::TypeAssignability::assignable_union(), compute_dependencies(), OpenDDS::XTypes::TypeAssignability::equal_type_id(), typeobject_generator::generate_minimal_type_identifier(), OpenDDS::XTypes::TypeAssignability::get_base_type(), OpenDDS::XTypes::TypeAssignability::get_map_bound(), OpenDDS::XTypes::TypeAssignability::get_sequence_bound(), OpenDDS::XTypes::TypeAssignability::get_string_bound(), OpenDDS::XTypes::TypeAssignability::get_struct_member(), OpenDDS::XTypes::TypeAssignability::get_union_member(), has_type_object(), OpenDDS::XTypes::TypeAssignability::hold_key(), OpenDDS::XTypes::TypeAssignability::is_delimited(), makeTypeIdentifier(), OpenDDS::XTypes::TypeIdentifier::operator<(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::operator>>(), OpenDDS::XTypes::TypeIdentifier::reset(), OpenDDS::DCPS::serialized_size(), typeobject_generator::strong_connect(), and OpenDDS::XTypes::TypeAssignability::struct_rule_enum_key().

◆ INVALID_LBOUND

const LBound OpenDDS::XTypes::INVALID_LBOUND = 0

Definition at line 232 of file TypeObject.h.

◆ INVALID_SBOUND

const SBound OpenDDS::XTypes::INVALID_SBOUND = 0

Definition at line 237 of file TypeObject.h.

◆ IS_APPENDABLE

const TypeFlag OpenDDS::XTypes::IS_APPENDABLE = 1 << 1

◆ IS_AUTOID_HASH

const TypeFlag OpenDDS::XTypes::IS_AUTOID_HASH = 1 << 4

◆ IS_DEFAULT

const MemberFlag OpenDDS::XTypes::IS_DEFAULT = 1 << 6

◆ IS_EXTERNAL

const MemberFlag OpenDDS::XTypes::IS_EXTERNAL = 1 << 2

◆ IS_FINAL

const TypeFlag OpenDDS::XTypes::IS_FINAL = 1 << 0

◆ IS_KEY

const MemberFlag OpenDDS::XTypes::IS_KEY = 1 << 5

◆ IS_MUST_UNDERSTAND

const MemberFlag OpenDDS::XTypes::IS_MUST_UNDERSTAND = 1 << 4

◆ IS_MUTABLE

const TypeFlag OpenDDS::XTypes::IS_MUTABLE = 1 << 2

◆ IS_NESTED

const TypeFlag OpenDDS::XTypes::IS_NESTED = 1 << 3

◆ IS_OPTIONAL

const MemberFlag OpenDDS::XTypes::IS_OPTIONAL = 1 << 3

◆ MEMBER_NAME_MAX_LENGTH

const ACE_CDR::Long OpenDDS::XTypes::MEMBER_NAME_MAX_LENGTH = 256

Definition at line 203 of file TypeObject.h.

◆ MemberFlagMinimalMask

const MemberFlag OpenDDS::XTypes::MemberFlagMinimalMask = 0x003f

Definition at line 312 of file TypeObject.h.

◆ TI_PLAIN_ARRAY_LARGE

const TypeIdentifierKind OpenDDS::XTypes::TI_PLAIN_ARRAY_LARGE = 0x91

◆ TI_PLAIN_ARRAY_SMALL

const TypeIdentifierKind OpenDDS::XTypes::TI_PLAIN_ARRAY_SMALL = 0x90

◆ TI_PLAIN_MAP_LARGE

const TypeIdentifierKind OpenDDS::XTypes::TI_PLAIN_MAP_LARGE = 0xA1

◆ TI_PLAIN_MAP_SMALL

const TypeIdentifierKind OpenDDS::XTypes::TI_PLAIN_MAP_SMALL = 0xA0

◆ TI_PLAIN_SEQUENCE_LARGE

const TypeIdentifierKind OpenDDS::XTypes::TI_PLAIN_SEQUENCE_LARGE = 0x81

◆ TI_PLAIN_SEQUENCE_SMALL

const TypeIdentifierKind OpenDDS::XTypes::TI_PLAIN_SEQUENCE_SMALL = 0x80

◆ TI_STRING16_LARGE

const TypeIdentifierKind OpenDDS::XTypes::TI_STRING16_LARGE = 0x73

◆ TI_STRING16_SMALL

const TypeIdentifierKind OpenDDS::XTypes::TI_STRING16_SMALL = 0x72

◆ TI_STRING8_LARGE

const TypeIdentifierKind OpenDDS::XTypes::TI_STRING8_LARGE = 0x71

◆ TI_STRING8_SMALL

const TypeIdentifierKind OpenDDS::XTypes::TI_STRING8_SMALL = 0x70

◆ TI_STRONGLY_CONNECTED_COMPONENT

const TypeIdentifierKind OpenDDS::XTypes::TI_STRONGLY_CONNECTED_COMPONENT = 0xB0

◆ TK_ALIAS

const TypeKind OpenDDS::XTypes::TK_ALIAS = 0x30

Definition at line 164 of file TypeObject.h.

Referenced by OpenDDS::XTypes::TypeAssignability::assignable(), OpenDDS::XTypes::TypeAssignability::assignable_alias(), OpenDDS::XTypes::TypeAssignability::assignable_array(), OpenDDS::XTypes::TypeAssignability::assignable_bitmask(), OpenDDS::XTypes::TypeAssignability::assignable_enum(), OpenDDS::XTypes::TypeAssignability::assignable_map(), OpenDDS::XTypes::TypeAssignability::assignable_plain_array(), OpenDDS::XTypes::TypeAssignability::assignable_plain_map(), OpenDDS::XTypes::TypeAssignability::assignable_plain_sequence(), OpenDDS::XTypes::TypeAssignability::assignable_primitive(), OpenDDS::XTypes::TypeAssignability::assignable_sequence(), OpenDDS::XTypes::TypeAssignability::assignable_string(), OpenDDS::XTypes::TypeAssignability::assignable_struct(), OpenDDS::XTypes::TypeAssignability::assignable_union(), typeobject_generator::generate_minimal_type_identifier(), OpenDDS::XTypes::TypeAssignability::get_base_type(), OpenDDS::XTypes::TypeAssignability::get_map_bound(), OpenDDS::XTypes::TypeAssignability::get_sequence_bound(), OpenDDS::XTypes::TypeAssignability::get_string_bound(), OpenDDS::XTypes::TypeAssignability::get_struct_member(), OpenDDS::XTypes::TypeAssignability::get_union_member(), has_type_object(), OpenDDS::XTypes::TypeAssignability::hold_key(), OpenDDS::XTypes::TypeAssignability::is_delimited(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::operator>>(), OpenDDS::DCPS::serialized_size(), and OpenDDS::XTypes::TypeAssignability::struct_rule_enum_key().

◆ TK_ANNOTATION

const TypeKind OpenDDS::XTypes::TK_ANNOTATION = 0x50

◆ TK_ARRAY

const TypeKind OpenDDS::XTypes::TK_ARRAY = 0x61

◆ TK_BITMASK

const TypeKind OpenDDS::XTypes::TK_BITMASK = 0x41

◆ TK_BITSET

const TypeKind OpenDDS::XTypes::TK_BITSET = 0x53

◆ TK_BOOLEAN

const TypeKind OpenDDS::XTypes::TK_BOOLEAN = 0x01

◆ TK_BYTE

const TypeKind OpenDDS::XTypes::TK_BYTE = 0x02

◆ TK_CHAR16

const TypeKind OpenDDS::XTypes::TK_CHAR16 = 0x11

◆ TK_CHAR8

const TypeKind OpenDDS::XTypes::TK_CHAR8 = 0x10

◆ TK_ENUM

const TypeKind OpenDDS::XTypes::TK_ENUM = 0x40

◆ TK_FLOAT128

const TypeKind OpenDDS::XTypes::TK_FLOAT128 = 0x0B

◆ TK_FLOAT32

const TypeKind OpenDDS::XTypes::TK_FLOAT32 = 0x09

◆ TK_FLOAT64

const TypeKind OpenDDS::XTypes::TK_FLOAT64 = 0x0A

◆ TK_INT16

const TypeKind OpenDDS::XTypes::TK_INT16 = 0x03

◆ TK_INT32

const TypeKind OpenDDS::XTypes::TK_INT32 = 0x04

◆ TK_INT64

const TypeKind OpenDDS::XTypes::TK_INT64 = 0x05

◆ TK_INT8

const TypeKind OpenDDS::XTypes::TK_INT8 = 0x0C

◆ TK_MAP

const TypeKind OpenDDS::XTypes::TK_MAP = 0x62

◆ TK_NONE

const TypeKind OpenDDS::XTypes::TK_NONE = 0x00

◆ TK_SEQUENCE

const TypeKind OpenDDS::XTypes::TK_SEQUENCE = 0x60

◆ TK_STRING16

const TypeKind OpenDDS::XTypes::TK_STRING16 = 0x21

◆ TK_STRING8

const TypeKind OpenDDS::XTypes::TK_STRING8 = 0x20

◆ TK_STRUCTURE

const TypeKind OpenDDS::XTypes::TK_STRUCTURE = 0x51

◆ TK_UINT16

const TypeKind OpenDDS::XTypes::TK_UINT16 = 0x06

◆ TK_UINT32

const TypeKind OpenDDS::XTypes::TK_UINT32 = 0x07

◆ TK_UINT64

const TypeKind OpenDDS::XTypes::TK_UINT64 = 0x08

◆ TK_UINT8

const TypeKind OpenDDS::XTypes::TK_UINT8 = 0x0D

◆ TK_UNION

const TypeKind OpenDDS::XTypes::TK_UNION = 0x52

◆ TRY_CONSTRUCT1

const MemberFlag OpenDDS::XTypes::TRY_CONSTRUCT1 = 1 << 0

Definition at line 287 of file TypeObject.h.

◆ TRY_CONSTRUCT2

const MemberFlag OpenDDS::XTypes::TRY_CONSTRUCT2 = 1 << 1

Definition at line 288 of file TypeObject.h.

◆ TryConstructDiscardValue

const MemberFlag OpenDDS::XTypes::TryConstructDiscardValue = TRY_CONSTRUCT1

Definition at line 306 of file TypeObject.h.

◆ TryConstructTrimValue

const MemberFlag OpenDDS::XTypes::TryConstructTrimValue = TRY_CONSTRUCT1 | TRY_CONSTRUCT2

Definition at line 308 of file TypeObject.h.

◆ TryConstructUseDefaultValue

const MemberFlag OpenDDS::XTypes::TryConstructUseDefaultValue = TRY_CONSTRUCT2

Definition at line 307 of file TypeObject.h.

◆ TYPE_NAME_MAX_LENGTH

const ACE_CDR::Long OpenDDS::XTypes::TYPE_NAME_MAX_LENGTH = 256

Definition at line 208 of file TypeObject.h.

◆ TypeFlagMinimalMask

const TypeFlag OpenDDS::XTypes::TypeFlagMinimalMask = 0x0007

Definition at line 335 of file TypeObject.h.

◆ TypeLookup_getDependencies_HashId

const ACE_CDR::ULong OpenDDS::XTypes::TypeLookup_getDependencies_HashId = 0x05aafb31

◆ TypeLookup_getTypes_HashId

const ACE_CDR::ULong OpenDDS::XTypes::TypeLookup_getTypes_HashId = 0x018252d3