Fast RTPS  Version 2.14.1
Fast RTPS
Loading...
Searching...
No Matches
DynamicData.h
1// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef TYPES_DYNAMIC_DATA_H
16#define TYPES_DYNAMIC_DATA_H
17
18#include <fastrtps/types/TypesBase.h>
19#include <fastrtps/types/DynamicDataPtr.h>
20#include <fastrtps/types/DynamicTypePtr.h>
21
22//#define DYNAMIC_TYPES_CHECKING
23
24namespace eprosima {
25namespace fastdds {
26namespace dds {
27namespace DDSSQLFilter {
28
29class DDSFilterExpression;
30
31} // namespace DDSSQLFilter
32} // namespace dds
33} // namespace fastdds
34} // namespace eprosima
35
36namespace eprosima {
37namespace fastrtps {
38namespace types {
39
40class DynamicType;
41class MemberDescriptor;
42
44{
45protected:
46
49 const DynamicData* pData);
51 DynamicType_ptr pType);
52
54
56 TypeKind kind,
57 MemberId id);
58
60 DynamicType_ptr pType);
61
63 const DynamicData* pData);
64
65 void clean();
66
68
70 MemberId id,
71 TypeKind kind) const;
72
74 TypeKind kind,
75 void* left,
76 void* right) const;
77
79 MemberId indexId);
80
82 const DynamicType_ptr pType,
83 eprosima::fastcdr::Cdr& cdr) const;
84
86 MemberId id);
87
89 std::string& sOutValue,
90 MemberId id = MEMBER_ID_INVALID) const;
91
93 const std::string& sValue,
95
97 const std::string& name);
98
100
102 MemberId id);
103
105
107 MemberId startId);
108
110 DynamicData* pData);
111
112 // Serializes and deserializes the Dynamic Data.
114 eprosima::fastcdr::Cdr& cdr);
115
117 eprosima::fastcdr::Cdr& cdr);
118
119 static size_t getCdrSerializedSize(
120 const DynamicData* data,
121 size_t current_alignment = 0);
122
124 const DynamicType* type,
125 size_t current_alignment = 0);
126
128 const DynamicType_ptr type,
129 size_t current_alignment = 0);
130
132 const DynamicType_ptr type,
133 size_t current_alignment = 0);
134
136 eprosima::fastcdr::Cdr& cdr) const;
137
139 eprosima::fastcdr::Cdr& cdr) const;
140
142 eprosima::fastcdr::Cdr& cdr) const;
143
145 std::map<MemberId, MemberDescriptor*> descriptors_;
146
147#ifdef DYNAMIC_TYPES_CHECKING
148 int32_t int32_value_;
149 uint32_t uint32_value_;
150 int16_t int16_value_;
151 uint16_t uint16_value_;
152 int64_t int64_value_;
153 uint64_t uint64_value_;
154 float float32_value_;
155 double float64_value_;
156 long double float128_value_;
157 char char8_value_;
158 wchar_t char16_value_;
159 octet byte_value_;
160 bool bool_value_;
161 std::string string_value_;
162 std::wstring wstring_value_;
163 std::map<MemberId, DynamicData*> complex_values_;
164#else
165 std::map<MemberId, void*> values_;
166#endif // ifdef DYNAMIC_TYPES_CHECKING
167 std::vector<MemberId> loaned_values_;
170 uint64_t union_label_;
174
175 friend class DynamicDataFactory;
176 friend class DynamicPubSubType;
177 friend class DynamicDataHelper;
179
180public:
181
183 MemberDescriptor& value,
184 MemberId id);
185
187 MemberId id,
188 const MemberDescriptor* value);
189
191
193
195 MemberId id);
196
197 RTPS_DllAPI bool equals(
198 const DynamicData* other) const;
199
200 RTPS_DllAPI TypeKind get_kind() const;
201
202 RTPS_DllAPI uint32_t get_item_count() const;
203
204 RTPS_DllAPI std::string get_name();
205
207 const std::string& name) const;
208
210 uint32_t index) const;
211
213 MemberId id);
214
216 const DynamicData* value);
217
219 const std::vector<uint32_t>& position);
220
222 MemberId& outId);
223
225 int32_t value,
226 MemberId& outId);
227
229 uint32_t value,
230 MemberId& outId);
231
233 int16_t value,
234 MemberId& outId);
235
237 uint16_t value,
238 MemberId& outId);
239
241 int64_t value,
242 MemberId& outId);
243
245 uint64_t value,
246 MemberId& outId);
247
249 float value,
250 MemberId& outId);
251
253 double value,
254 MemberId& outId);
255
257 long double value,
258 MemberId& outId);
259
261 char value,
262 MemberId& outId);
263
265 wchar_t value,
266 MemberId& outId);
267
269 octet value,
270 MemberId& outId);
271
273 bool value,
274 MemberId& outId);
275
277 const std::string& value,
278 MemberId& outId);
279
281 const std::wstring& value,
282 MemberId& outId);
283
285 const std::string& value,
286 MemberId& outId);
287
289 const DynamicData* value,
290 MemberId& outId);
291
293 DynamicData* value,
294 MemberId& outId);
295
297 DynamicData_ptr value,
298 MemberId& outId);
299
301 MemberId id);
302
304
306 MemberId indexId);
307
309 const DynamicData* key,
310 MemberId& outKeyId,
311 MemberId& outValueId);
312
314 const DynamicData* key,
315 DynamicData* value,
316 MemberId& outKey,
317 MemberId& outValue);
318
320 const DynamicData* key,
321 const DynamicData* value,
322 MemberId& outKey,
323 MemberId& outValue);
324
326 const DynamicData* key,
327 DynamicData_ptr value,
328 MemberId& outKey,
329 MemberId& outValue);
330
332 MemberId keyId);
333
335 int32_t& value,
336 MemberId id) const;
337
339 int32_t value,
341
343 uint32_t& value,
344 MemberId id) const;
345
347 uint32_t value,
349
351 int16_t& value,
352 MemberId id) const;
353
355 int16_t value,
357
359 uint16_t& value,
360 MemberId id) const;
361
363 uint16_t value,
365
367 int64_t& value,
368 MemberId id) const;
369
371 int64_t value,
373
375 uint64_t& value,
376 MemberId id) const;
377
379 uint64_t value,
381
383 float& value,
384 MemberId id) const;
385
387 float value,
389
391 double& value,
392 MemberId id) const;
393
395 double value,
397
399 long double& value,
400 MemberId id) const;
401
403 long double value,
405
407 char& value,
408 MemberId id) const;
409
411 char value,
413
415 wchar_t& value,
416 MemberId id) const;
417
419 wchar_t value,
421
423 octet& value,
424 MemberId id) const;
425
427 octet value,
429
431 int8_t& value,
432 MemberId id) const
433 {
434 octet aux;
435 ReturnCode_t result = get_byte_value(aux, id);
436 value = static_cast<int8_t>(aux);
437 return result;
438 }
439
441 int8_t value,
443 {
444 return set_byte_value(static_cast<octet>(value), id);
445 }
446
448 uint8_t& value,
449 MemberId id) const
450 {
451 octet aux;
452 ReturnCode_t result = get_byte_value(aux, id);
453 value = static_cast<uint8_t>(aux);
454 return result;
455 }
456
458 uint8_t value,
460 {
461 return set_byte_value(static_cast<octet>(value), id);
462 }
463
465 bool& value,
466 MemberId id) const;
467
469 bool value,
471
473 bool value,
474 const std::string& name)
475 {
477 if (id != MEMBER_ID_INVALID)
478 {
479 return set_bool_value(value, id);
480 }
482 }
483
485 std::string& value,
486 MemberId id) const;
487
489 const std::string& value,
491
493 std::wstring& value,
494 MemberId id) const;
495
497 const std::wstring& value,
499
501 std::string& value,
502 MemberId id) const;
503
505 const std::string& value,
507
509 uint32_t& value,
510 MemberId id) const;
511
513 const uint32_t& value,
515
517 uint64_t& value) const;
518
519 RTPS_DllAPI uint64_t get_bitmask_value() const
520 {
521 uint64_t value;
523 {
525 }
526 return value;
527 }
528
530 uint64_t value);
531
533 DynamicData** value,
534 MemberId id) const;
535
537 DynamicData* value,
539
541 uint64_t& value) const;
542
543 // Basic types returns (copy)
544 RTPS_DllAPI int32_t get_int32_value(
545 MemberId id) const
546 {
547 int32_t value;
549 {
551 }
552 return value;
553 }
554
555 RTPS_DllAPI uint32_t get_uint32_value(
556 MemberId id) const
557 {
558 uint32_t value;
560 {
562 }
563 return value;
564 }
565
566 RTPS_DllAPI int16_t get_int16_value(
567 MemberId id) const
568 {
569 int16_t value;
571 {
573 }
574 return value;
575 }
576
577 RTPS_DllAPI uint16_t get_uint16_value(
578 MemberId id) const
579 {
580 uint16_t value;
582 {
584 }
585 return value;
586 }
587
588 RTPS_DllAPI int64_t get_int64_value(
589 MemberId id) const
590 {
591 int64_t value;
593 {
595 }
596 return value;
597 }
598
599 RTPS_DllAPI uint64_t get_uint64_value(
600 MemberId id) const
601 {
602 uint64_t value;
604 {
606 }
607 return value;
608 }
609
610 RTPS_DllAPI float get_float32_value(
611 MemberId id) const
612 {
613 float value;
615 {
617 }
618 return value;
619 }
620
621 RTPS_DllAPI double get_float64_value(
622 MemberId id) const
623 {
624 double value;
626 {
628 }
629 return value;
630 }
631
632 RTPS_DllAPI long double get_float128_value(
633 MemberId id) const
634 {
635 long double value;
637 {
639 }
640 return value;
641 }
642
643 RTPS_DllAPI char get_char8_value(
644 MemberId id) const
645 {
646 char value;
648 {
650 }
651 return value;
652 }
653
654 RTPS_DllAPI wchar_t get_char16_value(
655 MemberId id) const
656 {
657 wchar_t value;
659 {
661 }
662 return value;
663 }
664
665 RTPS_DllAPI octet get_byte_value(
666 MemberId id) const
667 {
668 octet value;
670 {
672 }
673 return value;
674 }
675
676 RTPS_DllAPI int8_t get_int8_value(
677 MemberId id) const
678 {
679 int8_t value;
681 {
683 }
684 return value;
685 }
686
687 RTPS_DllAPI uint8_t get_uint8_value(
688 MemberId id) const
689 {
690 uint8_t value;
692 {
694 }
695 return value;
696 }
697
698 RTPS_DllAPI bool get_bool_value(
699 MemberId id) const
700 {
701 bool value;
703 {
705 }
706 return value;
707 }
708
709 RTPS_DllAPI bool get_bool_value(
710 const std::string& name) const
711 {
713 bool value;
715 {
717 }
718 return value;
719 }
720
721 RTPS_DllAPI std::string get_string_value(
722 MemberId id) const
723 {
724 std::string value;
726 {
728 }
729 return value;
730 }
731
732 RTPS_DllAPI std::wstring get_wstring_value(
733 MemberId id) const
734 {
735 std::wstring value;
737 {
739 }
740 return value;
741 }
742
743 RTPS_DllAPI std::string get_enum_value(
744 MemberId id) const
745 {
746 std::string value;
748 {
750 }
751 return value;
752 }
753
754 RTPS_DllAPI uint64_t get_union_label() const
755 {
756 uint64_t value;
758 {
760 }
761 return value;
762 }
763
764 RTPS_DllAPI uint64_t get_discriminator_value() const
765 {
767 }
768
769 RTPS_DllAPI void get_discriminator_value(
770 uint64_t& outValue) const
771 {
772 outValue = discriminator_value_;
773 }
774
775 RTPS_DllAPI void set_discriminator_value(
776 uint64_t value)
777 {
778 discriminator_value_ = value;
779 }
780
781};
782
783
784} // namespace types
785} // namespace fastrtps
786} // namespace eprosima
787
788#endif // TYPES_DYNAMIC_DATA_H
Definition DynamicDataPtr.h:27
Definition DynamicDataFactory.h:32
Definition DynamicDataHelper.hpp:30
Definition DynamicData.h:44
void add_value(TypeKind kind, MemberId id)
ReturnCode_t insert_array_data(MemberId indexId)
RTPS_DllAPI uint32_t get_uint32_value(MemberId id) const
Definition DynamicData.h:555
RTPS_DllAPI ReturnCode_t get_complex_value(DynamicData **value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, DynamicData *value, MemberId &outKey, MemberId &outValue)
RTPS_DllAPI ReturnCode_t set_bool_value(bool value, const std::string &name)
Definition DynamicData.h:472
static size_t getEmptyCdrSerializedSize(const DynamicType *type, size_t current_alignment=0)
RTPS_DllAPI ReturnCode_t set_uint64_value(uint64_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI std::string get_enum_value(MemberId id) const
Definition DynamicData.h:743
ReturnCode_t set_union_id(MemberId id)
void set_value(const std::string &sValue, MemberId id=MEMBER_ID_INVALID)
static size_t getCdrSerializedSize(const DynamicData *data, size_t current_alignment=0)
RTPS_DllAPI ReturnCode_t insert_bool_value(bool value, MemberId &outId)
RTPS_DllAPI long double get_float128_value(MemberId id) const
Definition DynamicData.h:632
RTPS_DllAPI ReturnCode_t get_float128_value(long double &value, MemberId id) const
MemberId union_id_
Definition DynamicData.h:171
RTPS_DllAPI DynamicData * loan_value(MemberId id)
RTPS_DllAPI ReturnCode_t insert_uint16_value(uint16_t value, MemberId &outId)
RTPS_DllAPI bool get_bool_value(MemberId id) const
Definition DynamicData.h:698
DynamicData * union_discriminator_
Definition DynamicData.h:172
RTPS_DllAPI ReturnCode_t set_bitmask_value(uint64_t value)
RTPS_DllAPI ReturnCode_t set_int64_value(int64_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t set_complex_value(DynamicData *value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t remove_sequence_data(MemberId id)
RTPS_DllAPI ReturnCode_t remove_map_data(MemberId keyId)
RTPS_DllAPI ReturnCode_t clear_value(MemberId id)
RTPS_DllAPI void get_discriminator_value(uint64_t &outValue) const
Definition DynamicData.h:769
RTPS_DllAPI ReturnCode_t set_descriptor(MemberId id, const MemberDescriptor *value)
RTPS_DllAPI ReturnCode_t return_loaned_value(const DynamicData *value)
RTPS_DllAPI MemberId get_member_id_by_name(const std::string &name) const
bool deserialize_discriminator(eprosima::fastcdr::Cdr &cdr)
RTPS_DllAPI ReturnCode_t set_float64_value(double value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_int8_value(int8_t &value, MemberId id) const
Definition DynamicData.h:430
RTPS_DllAPI ReturnCode_t set_bool_value(bool value, MemberId id=MEMBER_ID_INVALID)
DynamicType_ptr type_
Definition DynamicData.h:144
RTPS_DllAPI ReturnCode_t insert_complex_value(DynamicData *value, MemberId &outId)
void serialize_empty_data(const DynamicType_ptr pType, eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI ReturnCode_t get_float32_value(float &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_uint8_value(uint8_t &value, MemberId id) const
Definition DynamicData.h:447
RTPS_DllAPI ReturnCode_t get_byte_value(octet &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_int32_value(int32_t value, MemberId &outId)
std::map< MemberId, MemberDescriptor * > descriptors_
Definition DynamicData.h:145
RTPS_DllAPI ReturnCode_t get_float64_value(double &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_char16_value(wchar_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t set_uint32_value(uint32_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_sequence_data(MemberId &outId)
RTPS_DllAPI ReturnCode_t set_byte_value(octet value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI TypeKind get_kind() const
RTPS_DllAPI int16_t get_int16_value(MemberId id) const
Definition DynamicData.h:566
RTPS_DllAPI ReturnCode_t get_enum_value(std::string &value, MemberId id) const
bool compare_values(TypeKind kind, void *left, void *right) const
RTPS_DllAPI ReturnCode_t set_uint16_value(uint16_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_int16_value(int16_t value, MemberId &outId)
void set_type_name(const std::string &name)
RTPS_DllAPI ReturnCode_t get_uint64_value(uint64_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t set_enum_value(const std::string &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_bitmask_value(uint64_t &value) const
RTPS_DllAPI uint64_t get_union_label() const
Definition DynamicData.h:754
RTPS_DllAPI std::string get_string_value(MemberId id) const
Definition DynamicData.h:721
void create_members(DynamicType_ptr pType)
DynamicData(const DynamicData *pData)
RTPS_DllAPI MemberId get_member_id_at_index(uint32_t index) const
RTPS_DllAPI ReturnCode_t insert_char8_value(char value, MemberId &outId)
RTPS_DllAPI ReturnCode_t get_enum_value(uint32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, MemberId &outKeyId, MemberId &outValueId)
RTPS_DllAPI ReturnCode_t insert_string_value(const std::string &value, MemberId &outId)
uint64_t discriminator_value_
Definition DynamicData.h:173
RTPS_DllAPI ReturnCode_t clear_array_data(MemberId indexId)
bool key_element_
Definition DynamicData.h:168
RTPS_DllAPI ReturnCode_t insert_float32_value(float value, MemberId &outId)
RTPS_DllAPI uint8_t get_uint8_value(MemberId id) const
Definition DynamicData.h:687
RTPS_DllAPI ReturnCode_t get_wstring_value(std::wstring &value, MemberId id) const
RTPS_DllAPI int64_t get_int64_value(MemberId id) const
Definition DynamicData.h:588
RTPS_DllAPI ReturnCode_t insert_float128_value(long double value, MemberId &outId)
DynamicData * default_array_value_
Definition DynamicData.h:169
RTPS_DllAPI ReturnCode_t clear_nonkey_values()
RTPS_DllAPI uint64_t get_bitmask_value() const
Definition DynamicData.h:519
void sort_member_ids(MemberId startId)
RTPS_DllAPI bool equals(const DynamicData *other) const
static size_t getMaxCdrSerializedSize(const DynamicType_ptr type, size_t current_alignment=0)
void serialize(eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI std::string get_name()
RTPS_DllAPI int8_t get_int8_value(MemberId id) const
Definition DynamicData.h:676
RTPS_DllAPI ReturnCode_t get_int16_value(int16_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t clear_data()
RTPS_DllAPI ReturnCode_t set_char8_value(char value, MemberId id=MEMBER_ID_INVALID)
std::map< MemberId, void * > values_
Definition DynamicData.h:165
RTPS_DllAPI ReturnCode_t set_uint8_value(uint8_t value, MemberId id=MEMBER_ID_INVALID)
Definition DynamicData.h:457
RTPS_DllAPI ReturnCode_t insert_float64_value(double value, MemberId &outId)
RTPS_DllAPI double get_float64_value(MemberId id) const
Definition DynamicData.h:621
RTPS_DllAPI ReturnCode_t get_int32_value(int32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, const DynamicData *value, MemberId &outKey, MemberId &outValue)
RTPS_DllAPI uint64_t get_uint64_value(MemberId id) const
Definition DynamicData.h:599
RTPS_DllAPI ReturnCode_t get_uint16_value(uint16_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_uint32_value(uint32_t value, MemberId &outId)
friend class eprosima::fastdds::dds::DDSSQLFilter::DDSFilterExpression
Definition DynamicData.h:178
void serializeKey(eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI ReturnCode_t insert_enum_value(const std::string &value, MemberId &outId)
RTPS_DllAPI ReturnCode_t set_int8_value(int8_t value, MemberId id=MEMBER_ID_INVALID)
Definition DynamicData.h:440
RTPS_DllAPI void set_discriminator_value(uint64_t value)
Definition DynamicData.h:775
RTPS_DllAPI ReturnCode_t set_enum_value(const uint32_t &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_char16_value(wchar_t value, MemberId &outId)
RTPS_DllAPI ReturnCode_t set_int16_value(int16_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t get_char8_value(char &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_uint32_value(uint32_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_string_value(std::string &value, MemberId id) const
RTPS_DllAPI ReturnCode_t clear_all_values()
RTPS_DllAPI bool get_bool_value(const std::string &name) const
Definition DynamicData.h:709
void * clone_value(MemberId id, TypeKind kind) const
RTPS_DllAPI ReturnCode_t insert_int64_value(int64_t value, MemberId &outId)
RTPS_DllAPI uint32_t get_item_count() const
DynamicData(DynamicType_ptr pType)
RTPS_DllAPI ReturnCode_t set_int32_value(int32_t value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI uint64_t get_discriminator_value() const
Definition DynamicData.h:764
uint64_t union_label_
Definition DynamicData.h:170
RTPS_DllAPI MemberId get_array_index(const std::vector< uint32_t > &position)
RTPS_DllAPI ReturnCode_t set_float32_value(float value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI ReturnCode_t insert_wstring_value(const std::wstring &value, MemberId &outId)
RTPS_DllAPI ReturnCode_t insert_uint64_value(uint64_t value, MemberId &outId)
bool deserialize(eprosima::fastcdr::Cdr &cdr)
RTPS_DllAPI ReturnCode_t set_wstring_value(const std::wstring &value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI octet get_byte_value(MemberId id) const
Definition DynamicData.h:665
void create_members(const DynamicData *pData)
RTPS_DllAPI ReturnCode_t get_bool_value(bool &value, MemberId id) const
RTPS_DllAPI ReturnCode_t get_descriptor(MemberDescriptor &value, MemberId id)
RTPS_DllAPI ReturnCode_t get_union_label(uint64_t &value) const
RTPS_DllAPI uint16_t get_uint16_value(MemberId id) const
Definition DynamicData.h:577
void get_value(std::string &sOutValue, MemberId id=MEMBER_ID_INVALID) const
RTPS_DllAPI ReturnCode_t insert_map_data(const DynamicData *key, DynamicData_ptr value, MemberId &outKey, MemberId &outValue)
std::vector< MemberId > loaned_values_
Definition DynamicData.h:167
RTPS_DllAPI ReturnCode_t insert_complex_value(DynamicData_ptr value, MemberId &outId)
RTPS_DllAPI ReturnCode_t set_float128_value(long double value, MemberId id=MEMBER_ID_INVALID)
RTPS_DllAPI float get_float32_value(MemberId id) const
Definition DynamicData.h:610
RTPS_DllAPI ReturnCode_t insert_complex_value(const DynamicData *value, MemberId &outId)
static size_t getKeyMaxCdrSerializedSize(const DynamicType_ptr type, size_t current_alignment=0)
void set_union_discriminator(DynamicData *pData)
RTPS_DllAPI int32_t get_int32_value(MemberId id) const
Definition DynamicData.h:544
RTPS_DllAPI ReturnCode_t get_int64_value(int64_t &value, MemberId id) const
RTPS_DllAPI ReturnCode_t insert_byte_value(octet value, MemberId &outId)
RTPS_DllAPI std::wstring get_wstring_value(MemberId id) const
Definition DynamicData.h:732
RTPS_DllAPI wchar_t get_char16_value(MemberId id) const
Definition DynamicData.h:654
RTPS_DllAPI ReturnCode_t get_char16_value(wchar_t &value, MemberId id) const
RTPS_DllAPI char get_char8_value(MemberId id) const
Definition DynamicData.h:643
void serialize_discriminator(eprosima::fastcdr::Cdr &cdr) const
RTPS_DllAPI ReturnCode_t set_string_value(const std::string &value, MemberId id=MEMBER_ID_INVALID)
Definition DynamicPubSubType.h:29
Definition DynamicTypePtr.h:27
Definition DynamicType.h:38
Definition MemberDescriptor.h:29
This class represents the enumeration ReturnCode_t.
Definition TypesBase.h:190
@ RETCODE_OK
Definition TypesBase.h:197
@ RETCODE_BAD_PARAMETER
Definition TypesBase.h:200
uint32_t MemberId
Definition TypesBase.h:285
constexpr uint32_t MEMBER_ID_INVALID
Definition TypesBase.h:286
octet TypeKind
Definition TypesBase.h:120
eProsima namespace.
Definition LibrarySettingsAttributes.h:23