18#include <fastdds/rtps/common/Types.h>
44using eprosima::fastrtps::rtps::octet;
198 RETCODE_UNSUPPORTED = 2,
199 RETCODE_BAD_PARAMETER = 3,
200 RETCODE_PRECONDITION_NOT_MET = 4,
201 RETCODE_OUT_OF_RESOURCES = 5,
202 RETCODE_NOT_ENABLED = 6,
203 RETCODE_IMMUTABLE_POLICY = 7,
204 RETCODE_INCONSISTENT_POLICY = 8,
205 RETCODE_ALREADY_DELETED = 9,
206 RETCODE_TIMEOUT = 10,
207 RETCODE_NO_DATA = 11,
208 RETCODE_ILLEGAL_OPERATION = 12,
209 RETCODE_NOT_ALLOWED_BY_SECURITY = 13
226 return value_ == c.value_;
232 return value_ != c.value_;
235 explicit operator bool() =
delete;
237 uint32_t operator ()()
const
242 bool operator !()
const
250typename std::enable_if<std::is_arithmetic<T>::value || std::is_enum<T>::value,
bool>::type
255 return b.operator ==(
260typename std::enable_if<std::is_arithmetic<T>::value || std::is_enum<T>::value,
bool>::type
265 return b.operator !=(
273#define MEMBER_ID_INVALID 0X0FFFFFFF
274#define INDEX_INVALID UINT32_MAX
293 const std::vector<T>& a,
294 const std::vector<T>& b)
296 if (a.size() == b.size())
298 auto aIt = a.begin();
299 auto bIt = b.begin();
300 while (aIt != a.end() && bIt != b.end())
326 std::bitset<16> m_MemberFlag;
336 : m_MemberFlag(x.m_MemberFlag)
342 : m_MemberFlag(std::move(x.m_MemberFlag))
349 m_MemberFlag = x.m_MemberFlag;
356 m_MemberFlag = std::move(x.m_MemberFlag);
363 return m_MemberFlag.test(0);
369 b ? m_MemberFlag.set(0) : m_MemberFlag.reset(0);
375 return m_MemberFlag.test(1);
381 b ? m_MemberFlag.set(1) : m_MemberFlag.reset(1);
388 return m_MemberFlag.test(2);
394 b ? m_MemberFlag.set(2) : m_MemberFlag.reset(2);
400 return m_MemberFlag.test(3);
406 b ? m_MemberFlag.set(3) : m_MemberFlag.reset(3);
412 return m_MemberFlag.test(4);
418 b ? m_MemberFlag.set(4) : m_MemberFlag.reset(4);
424 return m_MemberFlag.test(5);
430 b ? m_MemberFlag.set(5) : m_MemberFlag.reset(5);
436 return m_MemberFlag.test(6);
442 b ? m_MemberFlag.set(6) : m_MemberFlag.reset(6);
446 eprosima::fastcdr::Cdr& cdr)
const;
449 eprosima::fastcdr::Cdr& cdr);
453 size_t current_alignment = 0);
458 return m_MemberFlag == other.m_MemberFlag;
480 std::bitset<16> m_TypeFlag;
490 : m_TypeFlag(x.m_TypeFlag)
496 : m_TypeFlag(std::move(x.m_TypeFlag))
503 m_TypeFlag = x.m_TypeFlag;
510 m_TypeFlag = std::move(x.m_TypeFlag);
517 return m_TypeFlag.test(0);
523 b ? m_TypeFlag.set(0) : m_TypeFlag.reset(0);
529 return m_TypeFlag.test(1);
535 b ? m_TypeFlag.set(1) : m_TypeFlag.reset(1);
541 return m_TypeFlag.test(2);
547 b ? m_TypeFlag.set(2) : m_TypeFlag.reset(2);
553 return m_TypeFlag.test(3);
559 b ? m_TypeFlag.set(3) : m_TypeFlag.reset(3);
565 return m_TypeFlag.test(4);
571 b ? m_TypeFlag.set(4) : m_TypeFlag.reset(4);
575 eprosima::fastcdr::Cdr& cdr)
const;
578 eprosima::fastcdr::Cdr& cdr);
582 size_t current_alignment = 0);
587 return m_TypeFlag == other.m_TypeFlag;
Definition TypesBase.h:323
bool IS_OPTIONAL() const
Definition TypesBase.h:398
MemberFlag(MemberFlag &&x)
Definition TypesBase.h:340
void TRY_CONSTRUCT1(bool b)
Definition TypesBase.h:366
bool IS_MUST_UNDERSTAND() const
Definition TypesBase.h:410
void IS_OPTIONAL(bool b)
Definition TypesBase.h:403
MemberFlag & operator=(const MemberFlag &x)
Definition TypesBase.h:346
bool IS_DEFAULT() const
Definition TypesBase.h:434
bool TRY_CONSTRUCT2() const
Definition TypesBase.h:373
void TRY_CONSTRUCT2(bool b)
Definition TypesBase.h:378
void serialize(eprosima::fastcdr::Cdr &cdr) const
bool IS_KEY() const
Definition TypesBase.h:422
bool IS_EXTERNAL() const
Definition TypesBase.h:386
MemberFlag()
Definition TypesBase.h:330
bool operator==(const MemberFlag &other) const
Definition TypesBase.h:455
void IS_EXTERNAL(bool b)
Definition TypesBase.h:391
void IS_DEFAULT(bool b)
Definition TypesBase.h:439
bool TRY_CONSTRUCT1() const
Definition TypesBase.h:361
void deserialize(eprosima::fastcdr::Cdr &cdr)
static size_t getCdrSerializedSize(const MemberFlag &, size_t current_alignment=0)
MemberFlag(const MemberFlag &x)
Definition TypesBase.h:334
void IS_MUST_UNDERSTAND(bool b)
Definition TypesBase.h:415
void IS_KEY(bool b)
Definition TypesBase.h:427
This class represents the enumeration ReturnCode_t.
Definition TypesBase.h:189
ReturnCode_t(uint32_t e)
Definition TypesBase.h:217
ReturnCode_t()
Definition TypesBase.h:212
ReturnCodeValue
Definition TypesBase.h:195
Definition TypesBase.h:477
void IS_MUTABLE(bool b)
Definition TypesBase.h:544
bool IS_NESTED() const
Definition TypesBase.h:551
TypeFlag()
Definition TypesBase.h:484
void IS_APPENDABLE(bool b)
Definition TypesBase.h:532
bool IS_APPENDABLE() const
Definition TypesBase.h:527
TypeFlag(TypeFlag &&x)
Definition TypesBase.h:494
void IS_FINAL(bool b)
Definition TypesBase.h:520
bool operator==(const TypeFlag &other) const
Definition TypesBase.h:584
static size_t getCdrSerializedSize(const TypeFlag &, size_t current_alignment=0)
void IS_NESTED(bool b)
Definition TypesBase.h:556
bool IS_MUTABLE() const
Definition TypesBase.h:539
void serialize(eprosima::fastcdr::Cdr &cdr) const
TypeFlag(const TypeFlag &x)
Definition TypesBase.h:488
TypeFlag & operator=(const TypeFlag &x)
Definition TypesBase.h:500
void IS_AUTOID_HASH(bool b)
Definition TypesBase.h:568
void deserialize(eprosima::fastcdr::Cdr &cdr)
bool IS_FINAL() const
Definition TypesBase.h:515
bool IS_AUTOID_HASH() const
Definition TypesBase.h:563
uint32_t DomainId_t
Definition TypesBase.h:31
const octet TK_FLOAT32
Definition TypesBase.h:130
MemberFlag BitsetMemberFlag
Definition TypesBase.h:471
uint32_t MemberId
Definition TypesBase.h:272
TypeFlag BitsetTypeFlag
Definition TypesBase.h:599
const octet TK_BYTE
Definition TypesBase.h:123
const std::string ANNOTATION_DEFAULT_LITERAL_ID
Definition TypesBase.h:74
TypeFlag StructTypeFlag
Definition TypesBase.h:592
const octet TK_UINT64
Definition TypesBase.h:129
octet PrimitiveTypeId
Definition TypesBase.h:173
const std::string TKNAME_MAP
Definition TypesBase.h:110
const octet TK_BITSET
Definition TypesBase.h:152
OctetSeq & operator++(OctetSeq &)
const std::string ANNOTATION_TOPIC_ID
Definition TypesBase.h:63
octet EquivalenceKind
Definition TypesBase.h:113
const octet TK_UNION
Definition TypesBase.h:151
const std::string CONST_FALSE
Definition TypesBase.h:59
TypeFlag AliasTypeFlag
Definition TypesBase.h:596
const octet TK_FLOAT64
Definition TypesBase.h:131
MemberFlag BitflagFlag
Definition TypesBase.h:470
const std::string ANNOTATION_VALUE_ID
Definition TypesBase.h:75
const std::string EXTENSIBILITY_MUTABLE
Definition TypesBase.h:80
const uint16_t MemberFlagMinimalMask
Definition TypesBase.h:182
MemberFlag StructMemberFlag
Definition TypesBase.h:464
const octet TK_STRING16
Definition TypesBase.h:138
const std::string TKNAME_BITMASK
Definition TypesBase.h:103
octet SBound
Definition TypesBase.h:286
const std::string TKNAME_STRING8
Definition TypesBase.h:99
uint32_t LBound
Definition TypesBase.h:281
TypeFlag CollectionTypeFlag
Definition TypesBase.h:594
const std::string TKNAME_CHAR16
Definition TypesBase.h:93
const std::string TKNAME_UINT64
Definition TypesBase.h:88
const uint16_t TypeFlagMinimalMask
Definition TypesBase.h:602
const std::string ANNOTATION_MUTABLE_ID
Definition TypesBase.h:67
const octet TK_INT32
Definition TypesBase.h:125
const octet TK_ANNOTATION
Definition TypesBase.h:149
const std::string TKNAME_SEQUENCE
Definition TypesBase.h:108
const std::string ANNOTATION_APPENDABLE_ID
Definition TypesBase.h:66
const std::string ANNOTATION_OPTIONAL_ID
Definition TypesBase.h:69
const std::string TKNAME_FLOAT64
Definition TypesBase.h:96
const std::string ANNOTATION_POSITION_ID
Definition TypesBase.h:76
MemberFlag EnumeratedLiteralFlag
Definition TypesBase.h:467
const octet TK_MAP
Definition TypesBase.h:157
const std::string ANNOTATION_EPKEY_ID
Definition TypesBase.h:62
const octet EK_COMPLETE
Definition TypesBase.h:115
std::vector< SBound > SBoundSeq
Definition TypesBase.h:287
std::string MemberName
Definition TypesBase.h:165
const octet TK_UINT16
Definition TypesBase.h:127
const std::string TKNAME_FLOAT128
Definition TypesBase.h:97
constexpr uint32_t BOUND_UNLIMITED
A special value indicating an unlimited quantity.
Definition TypesBase.h:42
const std::string TKNAME_STRING16
Definition TypesBase.h:100
const octet TK_CHAR8
Definition TypesBase.h:133
const std::string TKNAME_BITSET
Definition TypesBase.h:107
const std::string TKNAME_UNION
Definition TypesBase.h:106
TypeFlag AnnotationTypeFlag
Definition TypesBase.h:595
std::vector< octet > OctetSeq
Definition TypesBase.h:46
const std::string EXTENSIBILITY_APPENDABLE
Definition TypesBase.h:79
TypeFlag UnionTypeFlag
Definition TypesBase.h:593
const std::string TKNAME_UINT32
Definition TypesBase.h:86
const octet EK_BOTH
Definition TypesBase.h:116
const std::string TKNAME_INT32
Definition TypesBase.h:85
const std::string TKNAME_INT8
Definition TypesBase.h:91
TypeFlag EnumTypeFlag
Definition TypesBase.h:597
const octet TK_CHAR16
Definition TypesBase.h:134
size_t to_size_t(const OctetSeq &)
const std::string CONST_TRUE
Definition TypesBase.h:58
const std::string TKNAME_ANNOTATION
Definition TypesBase.h:104
bool compareSequence(const std::vector< T > &a, const std::vector< T > &b)
Definition TypesBase.h:292
const int32_t MAX_ELEMENTS_COUNT
Definition TypesBase.h:277
const octet EK_MINIMAL
Definition TypesBase.h:114
const octet TK_ALIAS
Definition TypesBase.h:142
const std::string EXTENSIBILITY_FINAL
Definition TypesBase.h:78
const octet TK_INT16
Definition TypesBase.h:124
MemberFlag UnionMemberFlag
Definition TypesBase.h:465
const octet TK_BOOLEAN
Definition TypesBase.h:122
const uint32_t ANNOTATION_OCTETSEC_VALUE_MAX_LEN
Definition TypesBase.h:608
const octet TK_FLOAT128
Definition TypesBase.h:132
const std::string TKNAME_ALIAS
Definition TypesBase.h:101
const std::string TKNAME_BOOLEAN
Definition TypesBase.h:82
std::enable_if< std::is_arithmetic< T >::value||std::is_enum< T >::value, bool >::type operator!=(T a, const ReturnCode_t &b)
Definition TypesBase.h:261
std::string QualifiedTypeName
Definition TypesBase.h:170
const octet TK_BITMASK
Definition TypesBase.h:146
const std::string TKNAME_FLOAT32
Definition TypesBase.h:95
const LBound INVALID_LBOUND
Definition TypesBase.h:283
const SBound INVALID_SBOUND
Definition TypesBase.h:288
TypeFlag BitmaskTypeFlag
Definition TypesBase.h:598
const std::string ANNOTATION_DEFAULT_ID
Definition TypesBase.h:73
const uint32_t ANNOTATION_STR_VALUE_MAX_LEN
Definition TypesBase.h:607
const octet TK_ENUM
Definition TypesBase.h:145
const std::string TKNAME_UINT16
Definition TypesBase.h:84
const std::string TKNAME_UINT8
Definition TypesBase.h:92
const std::string ANNOTATION_NON_SERIALIZED_ID
Definition TypesBase.h:71
const std::string TKNAME_INT64
Definition TypesBase.h:87
const int32_t MAX_BITMASK_LENGTH
Definition TypesBase.h:276
const octet TK_STRUCTURE
Definition TypesBase.h:150
std::vector< LBound > LBoundSeq
Definition TypesBase.h:282
const octet TK_ARRAY
Definition TypesBase.h:156
const octet TK_SEQUENCE
Definition TypesBase.h:155
MemberFlag AliasMemberFlag
Definition TypesBase.h:469
MemberFlag AnnotationParameterFlag
Definition TypesBase.h:468
std::enable_if< std::is_arithmetic< T >::value||std::is_enum< T >::value, bool >::type operator==(T a, const ReturnCode_t &b)
Definition TypesBase.h:251
MemberFlag UnionDiscriminatorFlag
Definition TypesBase.h:466
const std::string TKNAME_CHAR16T
Definition TypesBase.h:94
const octet TK_INT64
Definition TypesBase.h:126
const std::string TKNAME_CHAR8
Definition TypesBase.h:89
const octet TK_NONE
Definition TypesBase.h:121
const std::string ANNOTATION_FINAL_ID
Definition TypesBase.h:65
const octet TK_STRING8
Definition TypesBase.h:137
const octet TK_UINT32
Definition TypesBase.h:128
const std::string TKNAME_ENUM
Definition TypesBase.h:102
octet TypeKind
Definition TypesBase.h:119
const std::string TKNAME_ARRAY
Definition TypesBase.h:109
const std::string TKNAME_STRUCTURE
Definition TypesBase.h:105
const std::string ANNOTATION_BIT_BOUND_ID
Definition TypesBase.h:72
const int32_t TYPE_NAME_MAX_LENGTH
Definition TypesBase.h:169
const int32_t MEMBER_NAME_MAX_LENGTH
Definition TypesBase.h:164
const int32_t MAX_STRING_LENGTH
Definition TypesBase.h:278
std::array< uint8_t, 4 > NameHash
Definition TypesBase.h:178
const std::string ANNOTATION_NESTED_ID
Definition TypesBase.h:68
MemberFlag CollectionElementFlag
Definition TypesBase.h:463
const std::string ANNOTATION_EXTENSIBILITY_ID
Definition TypesBase.h:64
const std::string ANNOTATION_MUST_UNDERSTAND_ID
Definition TypesBase.h:70
const std::string TKNAME_BYTE
Definition TypesBase.h:90
const std::string ANNOTATION_KEY_ID
Definition TypesBase.h:61
const std::string TKNAME_INT16
Definition TypesBase.h:83
eProsima namespace.
Definition LibrarySettingsAttributes.h:23