18 #include <fastdds/rtps/common/Types.h>
26 #include <type_traits>
41 using eprosima::fastrtps::rtps::octet;
195 RETCODE_UNSUPPORTED = 2,
196 RETCODE_BAD_PARAMETER = 3,
197 RETCODE_PRECONDITION_NOT_MET = 4,
198 RETCODE_OUT_OF_RESOURCES = 5,
199 RETCODE_NOT_ENABLED = 6,
200 RETCODE_IMMUTABLE_POLICY = 7,
201 RETCODE_INCONSISTENT_POLICY = 8,
202 RETCODE_ALREADY_DELETED = 9,
203 RETCODE_TIMEOUT = 10,
204 RETCODE_NO_DATA = 11,
205 RETCODE_ILLEGAL_OPERATION = 12,
206 RETCODE_NOT_ALLOWED_BY_SECURITY = 13
223 return value_ == c.value_;
229 return value_ != c.value_;
232 explicit operator bool() =
delete;
234 uint32_t operator ()()
const
239 bool operator !()
const
247 typename std::enable_if<std::is_arithmetic<T>::value || std::is_enum<T>::value,
bool>::type
252 return b.operator ==(
257 typename std::enable_if<std::is_arithmetic<T>::value || std::is_enum<T>::value,
bool>::type
262 return b.operator !=(
270 #define MEMBER_ID_INVALID 0X0FFFFFFF
271 #define INDEX_INVALID UINT32_MAX
290 const std::vector<T>& a,
291 const std::vector<T>& b)
293 if (a.size() == b.size())
295 auto aIt = a.begin();
296 auto bIt = b.begin();
297 while (aIt != a.end() && bIt != b.end())
323 std::bitset<16> m_MemberFlag;
333 : m_MemberFlag(x.m_MemberFlag)
339 : m_MemberFlag(std::move(x.m_MemberFlag))
346 m_MemberFlag = x.m_MemberFlag;
353 m_MemberFlag = std::move(x.m_MemberFlag);
360 return m_MemberFlag.test(0);
366 b ? m_MemberFlag.set(0) : m_MemberFlag.reset(0);
372 return m_MemberFlag.test(1);
378 b ? m_MemberFlag.set(1) : m_MemberFlag.reset(1);
385 return m_MemberFlag.test(2);
391 b ? m_MemberFlag.set(2) : m_MemberFlag.reset(2);
397 return m_MemberFlag.test(3);
403 b ? m_MemberFlag.set(3) : m_MemberFlag.reset(3);
409 return m_MemberFlag.test(4);
415 b ? m_MemberFlag.set(4) : m_MemberFlag.reset(4);
421 return m_MemberFlag.test(5);
427 b ? m_MemberFlag.set(5) : m_MemberFlag.reset(5);
433 return m_MemberFlag.test(6);
439 b ? m_MemberFlag.set(6) : m_MemberFlag.reset(6);
443 eprosima::fastcdr::Cdr& cdr)
const;
446 eprosima::fastcdr::Cdr& cdr);
450 size_t current_alignment = 0);
455 return m_MemberFlag == other.m_MemberFlag;
477 std::bitset<16> m_TypeFlag;
487 : m_TypeFlag(x.m_TypeFlag)
493 : m_TypeFlag(std::move(x.m_TypeFlag))
500 m_TypeFlag = x.m_TypeFlag;
507 m_TypeFlag = std::move(x.m_TypeFlag);
514 return m_TypeFlag.test(0);
520 b ? m_TypeFlag.set(0) : m_TypeFlag.reset(0);
526 return m_TypeFlag.test(1);
532 b ? m_TypeFlag.set(1) : m_TypeFlag.reset(1);
538 return m_TypeFlag.test(2);
544 b ? m_TypeFlag.set(2) : m_TypeFlag.reset(2);
550 return m_TypeFlag.test(3);
556 b ? m_TypeFlag.set(3) : m_TypeFlag.reset(3);
562 return m_TypeFlag.test(4);
568 b ? m_TypeFlag.set(4) : m_TypeFlag.reset(4);
572 eprosima::fastcdr::Cdr& cdr)
const;
575 eprosima::fastcdr::Cdr& cdr);
579 size_t current_alignment = 0);
584 return m_TypeFlag == other.m_TypeFlag;
Definition: TypesBase.h:320
bool IS_OPTIONAL() const
Definition: TypesBase.h:395
MemberFlag(MemberFlag &&x)
Definition: TypesBase.h:337
void TRY_CONSTRUCT1(bool b)
Definition: TypesBase.h:363
bool IS_MUST_UNDERSTAND() const
Definition: TypesBase.h:407
MemberFlag & operator=(const MemberFlag &x)
Definition: TypesBase.h:343
void IS_OPTIONAL(bool b)
Definition: TypesBase.h:400
bool IS_DEFAULT() const
Definition: TypesBase.h:431
bool TRY_CONSTRUCT2() const
Definition: TypesBase.h:370
void TRY_CONSTRUCT2(bool b)
Definition: TypesBase.h:375
void serialize(eprosima::fastcdr::Cdr &cdr) const
bool IS_KEY() const
Definition: TypesBase.h:419
bool IS_EXTERNAL() const
Definition: TypesBase.h:383
MemberFlag()
Definition: TypesBase.h:327
bool operator==(const MemberFlag &other) const
Definition: TypesBase.h:452
void IS_EXTERNAL(bool b)
Definition: TypesBase.h:388
void IS_DEFAULT(bool b)
Definition: TypesBase.h:436
bool TRY_CONSTRUCT1() const
Definition: TypesBase.h:358
void deserialize(eprosima::fastcdr::Cdr &cdr)
static size_t getCdrSerializedSize(const MemberFlag &, size_t current_alignment=0)
MemberFlag(const MemberFlag &x)
Definition: TypesBase.h:331
void IS_MUST_UNDERSTAND(bool b)
Definition: TypesBase.h:412
void IS_KEY(bool b)
Definition: TypesBase.h:424
This class represents the enumeration ReturnCode_t.
Definition: TypesBase.h:186
ReturnCode_t(uint32_t e)
Definition: TypesBase.h:214
ReturnCode_t()
Definition: TypesBase.h:209
Definition: TypesBase.h:474
void IS_MUTABLE(bool b)
Definition: TypesBase.h:541
bool IS_NESTED() const
Definition: TypesBase.h:548
TypeFlag & operator=(const TypeFlag &x)
Definition: TypesBase.h:497
TypeFlag()
Definition: TypesBase.h:481
void IS_APPENDABLE(bool b)
Definition: TypesBase.h:529
bool IS_APPENDABLE() const
Definition: TypesBase.h:524
TypeFlag(TypeFlag &&x)
Definition: TypesBase.h:491
void IS_FINAL(bool b)
Definition: TypesBase.h:517
bool operator==(const TypeFlag &other) const
Definition: TypesBase.h:581
static size_t getCdrSerializedSize(const TypeFlag &, size_t current_alignment=0)
void IS_NESTED(bool b)
Definition: TypesBase.h:553
bool IS_MUTABLE() const
Definition: TypesBase.h:536
void serialize(eprosima::fastcdr::Cdr &cdr) const
TypeFlag(const TypeFlag &x)
Definition: TypesBase.h:485
void IS_AUTOID_HASH(bool b)
Definition: TypesBase.h:565
void deserialize(eprosima::fastcdr::Cdr &cdr)
bool IS_FINAL() const
Definition: TypesBase.h:512
bool IS_AUTOID_HASH() const
Definition: TypesBase.h:560
uint32_t DomainId_t
Definition: TypesBase.h:31
const octet TK_FLOAT32
Definition: TypesBase.h:127
MemberFlag BitsetMemberFlag
Definition: TypesBase.h:468
uint32_t MemberId
Definition: TypesBase.h:269
TypeFlag BitsetTypeFlag
Definition: TypesBase.h:596
const octet TK_BYTE
Definition: TypesBase.h:120
const std::string ANNOTATION_DEFAULT_LITERAL_ID
Definition: TypesBase.h:71
TypeFlag StructTypeFlag
Definition: TypesBase.h:589
const octet TK_UINT64
Definition: TypesBase.h:126
octet PrimitiveTypeId
Definition: TypesBase.h:170
const std::string TKNAME_MAP
Definition: TypesBase.h:107
const octet TK_BITSET
Definition: TypesBase.h:149
const std::string ANNOTATION_TOPIC_ID
Definition: TypesBase.h:60
octet EquivalenceKind
Definition: TypesBase.h:110
const octet TK_UNION
Definition: TypesBase.h:148
const std::string CONST_FALSE
Definition: TypesBase.h:56
TypeFlag AliasTypeFlag
Definition: TypesBase.h:593
const octet TK_FLOAT64
Definition: TypesBase.h:128
MemberFlag BitflagFlag
Definition: TypesBase.h:467
const std::string ANNOTATION_VALUE_ID
Definition: TypesBase.h:72
const std::string EXTENSIBILITY_MUTABLE
Definition: TypesBase.h:77
const uint16_t MemberFlagMinimalMask
Definition: TypesBase.h:179
MemberFlag StructMemberFlag
Definition: TypesBase.h:461
const octet TK_STRING16
Definition: TypesBase.h:135
const std::string TKNAME_BITMASK
Definition: TypesBase.h:100
octet SBound
Definition: TypesBase.h:283
const std::string TKNAME_STRING8
Definition: TypesBase.h:96
uint32_t LBound
Definition: TypesBase.h:278
TypeFlag CollectionTypeFlag
Definition: TypesBase.h:591
const std::string TKNAME_CHAR16
Definition: TypesBase.h:90
const std::string TKNAME_UINT64
Definition: TypesBase.h:85
const uint16_t TypeFlagMinimalMask
Definition: TypesBase.h:599
const std::string ANNOTATION_MUTABLE_ID
Definition: TypesBase.h:64
const octet TK_INT32
Definition: TypesBase.h:122
const octet TK_ANNOTATION
Definition: TypesBase.h:146
const std::string TKNAME_SEQUENCE
Definition: TypesBase.h:105
const std::string ANNOTATION_APPENDABLE_ID
Definition: TypesBase.h:63
const std::string ANNOTATION_OPTIONAL_ID
Definition: TypesBase.h:66
const std::string TKNAME_FLOAT64
Definition: TypesBase.h:93
const std::string ANNOTATION_POSITION_ID
Definition: TypesBase.h:73
MemberFlag EnumeratedLiteralFlag
Definition: TypesBase.h:464
const octet TK_MAP
Definition: TypesBase.h:154
const std::string ANNOTATION_EPKEY_ID
Definition: TypesBase.h:59
const octet EK_COMPLETE
Definition: TypesBase.h:112
std::vector< SBound > SBoundSeq
Definition: TypesBase.h:284
std::string MemberName
Definition: TypesBase.h:162
const octet TK_UINT16
Definition: TypesBase.h:124
const std::string TKNAME_FLOAT128
Definition: TypesBase.h:94
const std::string TKNAME_STRING16
Definition: TypesBase.h:97
const octet TK_CHAR8
Definition: TypesBase.h:130
const std::string TKNAME_BITSET
Definition: TypesBase.h:104
const std::string TKNAME_UNION
Definition: TypesBase.h:103
TypeFlag AnnotationTypeFlag
Definition: TypesBase.h:592
std::vector< octet > OctetSeq
Definition: TypesBase.h:43
const std::string EXTENSIBILITY_APPENDABLE
Definition: TypesBase.h:76
TypeFlag UnionTypeFlag
Definition: TypesBase.h:590
const std::string TKNAME_UINT32
Definition: TypesBase.h:83
const octet EK_BOTH
Definition: TypesBase.h:113
const std::string TKNAME_INT32
Definition: TypesBase.h:82
const std::string TKNAME_INT8
Definition: TypesBase.h:88
TypeFlag EnumTypeFlag
Definition: TypesBase.h:594
const octet TK_CHAR16
Definition: TypesBase.h:131
const std::string CONST_TRUE
Definition: TypesBase.h:55
const std::string TKNAME_ANNOTATION
Definition: TypesBase.h:101
const int32_t MAX_ELEMENTS_COUNT
Definition: TypesBase.h:274
const octet EK_MINIMAL
Definition: TypesBase.h:111
const octet TK_ALIAS
Definition: TypesBase.h:139
const std::string EXTENSIBILITY_FINAL
Definition: TypesBase.h:75
const octet TK_INT16
Definition: TypesBase.h:121
MemberFlag UnionMemberFlag
Definition: TypesBase.h:462
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:258
const octet TK_BOOLEAN
Definition: TypesBase.h:119
const uint32_t ANNOTATION_OCTETSEC_VALUE_MAX_LEN
Definition: TypesBase.h:605
const octet TK_FLOAT128
Definition: TypesBase.h:129
const std::string TKNAME_ALIAS
Definition: TypesBase.h:98
const std::string TKNAME_BOOLEAN
Definition: TypesBase.h:79
std::string QualifiedTypeName
Definition: TypesBase.h:167
const octet TK_BITMASK
Definition: TypesBase.h:143
const std::string TKNAME_FLOAT32
Definition: TypesBase.h:92
bool compareSequence(const std::vector< T > &a, const std::vector< T > &b)
Definition: TypesBase.h:289
const LBound INVALID_LBOUND
Definition: TypesBase.h:280
const SBound INVALID_SBOUND
Definition: TypesBase.h:285
TypeFlag BitmaskTypeFlag
Definition: TypesBase.h:595
size_t to_size_t(const OctetSeq &)
const std::string ANNOTATION_DEFAULT_ID
Definition: TypesBase.h:70
const uint32_t ANNOTATION_STR_VALUE_MAX_LEN
Definition: TypesBase.h:604
const octet TK_ENUM
Definition: TypesBase.h:142
const std::string TKNAME_UINT16
Definition: TypesBase.h:81
OctetSeq & operator++(OctetSeq &)
const std::string TKNAME_UINT8
Definition: TypesBase.h:89
const std::string ANNOTATION_NON_SERIALIZED_ID
Definition: TypesBase.h:68
const std::string TKNAME_INT64
Definition: TypesBase.h:84
const int32_t MAX_BITMASK_LENGTH
Definition: TypesBase.h:273
const octet TK_STRUCTURE
Definition: TypesBase.h:147
std::vector< LBound > LBoundSeq
Definition: TypesBase.h:279
const octet TK_ARRAY
Definition: TypesBase.h:153
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:248
const octet TK_SEQUENCE
Definition: TypesBase.h:152
MemberFlag AliasMemberFlag
Definition: TypesBase.h:466
MemberFlag AnnotationParameterFlag
Definition: TypesBase.h:465
MemberFlag UnionDiscriminatorFlag
Definition: TypesBase.h:463
const std::string TKNAME_CHAR16T
Definition: TypesBase.h:91
const octet TK_INT64
Definition: TypesBase.h:123
const std::string TKNAME_CHAR8
Definition: TypesBase.h:86
const octet TK_NONE
Definition: TypesBase.h:118
const std::string ANNOTATION_FINAL_ID
Definition: TypesBase.h:62
const octet TK_STRING8
Definition: TypesBase.h:134
const octet TK_UINT32
Definition: TypesBase.h:125
const std::string TKNAME_ENUM
Definition: TypesBase.h:99
octet TypeKind
Definition: TypesBase.h:116
const std::string TKNAME_ARRAY
Definition: TypesBase.h:106
const std::string TKNAME_STRUCTURE
Definition: TypesBase.h:102
const std::string ANNOTATION_BIT_BOUND_ID
Definition: TypesBase.h:69
const int32_t TYPE_NAME_MAX_LENGTH
Definition: TypesBase.h:166
const int32_t MEMBER_NAME_MAX_LENGTH
Definition: TypesBase.h:161
const int32_t MAX_STRING_LENGTH
Definition: TypesBase.h:275
std::array< uint8_t, 4 > NameHash
Definition: TypesBase.h:175
const std::string ANNOTATION_NESTED_ID
Definition: TypesBase.h:65
MemberFlag CollectionElementFlag
Definition: TypesBase.h:460
const std::string ANNOTATION_EXTENSIBILITY_ID
Definition: TypesBase.h:61
const std::string ANNOTATION_MUST_UNDERSTAND_ID
Definition: TypesBase.h:67
const std::string TKNAME_BYTE
Definition: TypesBase.h:87
const std::string ANNOTATION_KEY_ID
Definition: TypesBase.h:58
const std::string TKNAME_INT16
Definition: TypesBase.h:80
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23