Fast RTPS  Version 2.6.0
Fast RTPS
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 
24 namespace eprosima {
25 namespace fastdds {
26 namespace dds {
27 namespace DDSSQLFilter {
28 
29 class DDSFilterExpression;
30 
31 } // namespace DDSSQLFilter
32 } // namespace dds
33 } // namespace fastdds
34 } // namespace eprosima
35 
36 namespace eprosima {
37 namespace fastrtps {
38 namespace types {
39 
40 class DynamicType;
41 class MemberDescriptor;
42 
44 {
45 protected:
46 
47  DynamicData();
49  const DynamicData* pData);
51  DynamicType_ptr pType);
52 
53  ~DynamicData();
54 
55  void add_value(
56  TypeKind kind,
57  MemberId id);
58 
59  void create_members(
60  DynamicType_ptr pType);
61 
62  void create_members(
63  const DynamicData* pData);
64 
65  void clean();
66 
67  void clean_members();
68 
69  void* clone_value(
70  MemberId id,
71  TypeKind kind) const;
72 
73  bool compare_values(
74  TypeKind kind,
75  void* left,
76  void* right) const;
77 
78  ReturnCode_t insert_array_data(
79  MemberId indexId);
80 
81  void serialize_empty_data(
82  const DynamicType_ptr pType,
83  eprosima::fastcdr::Cdr& cdr) const;
84 
85  void set_default_value(
86  MemberId id);
87 
88  void get_value(
89  std::string& sOutValue,
90  MemberId id = MEMBER_ID_INVALID) const;
91 
92  void set_value(
93  const std::string& sValue,
94  MemberId id = MEMBER_ID_INVALID);
95 
96  void set_type_name(
97  const std::string& name);
98 
99  MemberId get_union_id() const;
100 
101  ReturnCode_t set_union_id(
102  MemberId id);
103 
104  void update_union_discriminator();
105 
106  void sort_member_ids(
107  MemberId startId);
108 
109  void set_union_discriminator(
110  DynamicData* pData);
111 
112  // Serializes and deserializes the Dynamic Data.
113  bool deserialize(
114  eprosima::fastcdr::Cdr& cdr);
115 
116  bool deserialize_discriminator(
117  eprosima::fastcdr::Cdr& cdr);
118 
119  static size_t getCdrSerializedSize(
120  const DynamicData* data,
121  size_t current_alignment = 0);
122 
123  static size_t getEmptyCdrSerializedSize(
124  const DynamicType* type,
125  size_t current_alignment = 0);
126 
127  static size_t getKeyMaxCdrSerializedSize(
128  const DynamicType_ptr type,
129  size_t current_alignment = 0);
130 
131  static size_t getMaxCdrSerializedSize(
132  const DynamicType_ptr type,
133  size_t current_alignment = 0);
134 
135  void serialize(
136  eprosima::fastcdr::Cdr& cdr) const;
137 
138  void serialize_discriminator(
139  eprosima::fastcdr::Cdr& cdr) const;
140 
141  void serializeKey(
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;
178  friend class eprosima::fastdds::dds::DDSSQLFilter::DDSFilterExpression;
179 
180 public:
181 
182  RTPS_DllAPI ReturnCode_t get_descriptor(
183  MemberDescriptor& value,
184  MemberId id);
185 
186  RTPS_DllAPI ReturnCode_t set_descriptor(
187  MemberId id,
188  const MemberDescriptor* value);
189 
190  RTPS_DllAPI ReturnCode_t clear_all_values();
191 
192  RTPS_DllAPI ReturnCode_t clear_nonkey_values();
193 
194  RTPS_DllAPI ReturnCode_t clear_value(
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 
206  RTPS_DllAPI MemberId get_member_id_by_name(
207  const std::string& name) const;
208 
209  RTPS_DllAPI MemberId get_member_id_at_index(
210  uint32_t index) const;
211 
212  RTPS_DllAPI DynamicData* loan_value(
213  MemberId id);
214 
215  RTPS_DllAPI ReturnCode_t return_loaned_value(
216  const DynamicData* value);
217 
218  RTPS_DllAPI MemberId get_array_index(
219  const std::vector<uint32_t>& position);
220 
221  RTPS_DllAPI ReturnCode_t insert_sequence_data(
222  MemberId& outId);
223 
224  RTPS_DllAPI ReturnCode_t insert_int32_value(
225  int32_t value,
226  MemberId& outId);
227 
228  RTPS_DllAPI ReturnCode_t insert_uint32_value(
229  uint32_t value,
230  MemberId& outId);
231 
232  RTPS_DllAPI ReturnCode_t insert_int16_value(
233  int16_t value,
234  MemberId& outId);
235 
236  RTPS_DllAPI ReturnCode_t insert_uint16_value(
237  uint16_t value,
238  MemberId& outId);
239 
240  RTPS_DllAPI ReturnCode_t insert_int64_value(
241  int64_t value,
242  MemberId& outId);
243 
244  RTPS_DllAPI ReturnCode_t insert_uint64_value(
245  uint64_t value,
246  MemberId& outId);
247 
248  RTPS_DllAPI ReturnCode_t insert_float32_value(
249  float value,
250  MemberId& outId);
251 
252  RTPS_DllAPI ReturnCode_t insert_float64_value(
253  double value,
254  MemberId& outId);
255 
256  RTPS_DllAPI ReturnCode_t insert_float128_value(
257  long double value,
258  MemberId& outId);
259 
260  RTPS_DllAPI ReturnCode_t insert_char8_value(
261  char value,
262  MemberId& outId);
263 
264  RTPS_DllAPI ReturnCode_t insert_char16_value(
265  wchar_t value,
266  MemberId& outId);
267 
268  RTPS_DllAPI ReturnCode_t insert_byte_value(
269  octet value,
270  MemberId& outId);
271 
272  RTPS_DllAPI ReturnCode_t insert_bool_value(
273  bool value,
274  MemberId& outId);
275 
276  RTPS_DllAPI ReturnCode_t insert_string_value(
277  const std::string& value,
278  MemberId& outId);
279 
280  RTPS_DllAPI ReturnCode_t insert_wstring_value(
281  const std::wstring& value,
282  MemberId& outId);
283 
284  RTPS_DllAPI ReturnCode_t insert_enum_value(
285  const std::string& value,
286  MemberId& outId);
287 
288  RTPS_DllAPI ReturnCode_t insert_complex_value(
289  const DynamicData* value,
290  MemberId& outId);
291 
292  RTPS_DllAPI ReturnCode_t insert_complex_value(
293  DynamicData* value,
294  MemberId& outId);
295 
296  RTPS_DllAPI ReturnCode_t insert_complex_value(
297  DynamicData_ptr value,
298  MemberId& outId);
299 
300  RTPS_DllAPI ReturnCode_t remove_sequence_data(
301  MemberId id);
302 
303  RTPS_DllAPI ReturnCode_t clear_data();
304 
305  RTPS_DllAPI ReturnCode_t clear_array_data(
306  MemberId indexId);
307 
308  RTPS_DllAPI ReturnCode_t insert_map_data(
309  const DynamicData* key,
310  MemberId& outKeyId,
311  MemberId& outValueId);
312 
313  RTPS_DllAPI ReturnCode_t insert_map_data(
314  const DynamicData* key,
315  DynamicData* value,
316  MemberId& outKey,
317  MemberId& outValue);
318 
319  RTPS_DllAPI ReturnCode_t insert_map_data(
320  const DynamicData* key,
321  const DynamicData* value,
322  MemberId& outKey,
323  MemberId& outValue);
324 
325  RTPS_DllAPI ReturnCode_t insert_map_data(
326  const DynamicData* key,
327  DynamicData_ptr value,
328  MemberId& outKey,
329  MemberId& outValue);
330 
331  RTPS_DllAPI ReturnCode_t remove_map_data(
332  MemberId keyId);
333 
334  RTPS_DllAPI ReturnCode_t get_int32_value(
335  int32_t& value,
336  MemberId id) const;
337 
338  RTPS_DllAPI ReturnCode_t set_int32_value(
339  int32_t value,
340  MemberId id = MEMBER_ID_INVALID);
341 
342  RTPS_DllAPI ReturnCode_t get_uint32_value(
343  uint32_t& value,
344  MemberId id) const;
345 
346  RTPS_DllAPI ReturnCode_t set_uint32_value(
347  uint32_t value,
348  MemberId id = MEMBER_ID_INVALID);
349 
350  RTPS_DllAPI ReturnCode_t get_int16_value(
351  int16_t& value,
352  MemberId id) const;
353 
354  RTPS_DllAPI ReturnCode_t set_int16_value(
355  int16_t value,
356  MemberId id = MEMBER_ID_INVALID);
357 
358  RTPS_DllAPI ReturnCode_t get_uint16_value(
359  uint16_t& value,
360  MemberId id) const;
361 
362  RTPS_DllAPI ReturnCode_t set_uint16_value(
363  uint16_t value,
364  MemberId id = MEMBER_ID_INVALID);
365 
366  RTPS_DllAPI ReturnCode_t get_int64_value(
367  int64_t& value,
368  MemberId id) const;
369 
370  RTPS_DllAPI ReturnCode_t set_int64_value(
371  int64_t value,
372  MemberId id = MEMBER_ID_INVALID);
373 
374  RTPS_DllAPI ReturnCode_t get_uint64_value(
375  uint64_t& value,
376  MemberId id) const;
377 
378  RTPS_DllAPI ReturnCode_t set_uint64_value(
379  uint64_t value,
380  MemberId id = MEMBER_ID_INVALID);
381 
382  RTPS_DllAPI ReturnCode_t get_float32_value(
383  float& value,
384  MemberId id) const;
385 
386  RTPS_DllAPI ReturnCode_t set_float32_value(
387  float value,
388  MemberId id = MEMBER_ID_INVALID);
389 
390  RTPS_DllAPI ReturnCode_t get_float64_value(
391  double& value,
392  MemberId id) const;
393 
394  RTPS_DllAPI ReturnCode_t set_float64_value(
395  double value,
396  MemberId id = MEMBER_ID_INVALID);
397 
398  RTPS_DllAPI ReturnCode_t get_float128_value(
399  long double& value,
400  MemberId id) const;
401 
402  RTPS_DllAPI ReturnCode_t set_float128_value(
403  long double value,
404  MemberId id = MEMBER_ID_INVALID);
405 
406  RTPS_DllAPI ReturnCode_t get_char8_value(
407  char& value,
408  MemberId id) const;
409 
410  RTPS_DllAPI ReturnCode_t set_char8_value(
411  char value,
412  MemberId id = MEMBER_ID_INVALID);
413 
414  RTPS_DllAPI ReturnCode_t get_char16_value(
415  wchar_t& value,
416  MemberId id) const;
417 
418  RTPS_DllAPI ReturnCode_t set_char16_value(
419  wchar_t value,
420  MemberId id = MEMBER_ID_INVALID);
421 
422  RTPS_DllAPI ReturnCode_t get_byte_value(
423  octet& value,
424  MemberId id) const;
425 
426  RTPS_DllAPI ReturnCode_t set_byte_value(
427  octet value,
428  MemberId id = MEMBER_ID_INVALID);
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,
442  MemberId id = MEMBER_ID_INVALID)
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,
459  MemberId id = MEMBER_ID_INVALID)
460  {
461  return set_byte_value(static_cast<octet>(value), id);
462  }
463 
464  RTPS_DllAPI ReturnCode_t get_bool_value(
465  bool& value,
466  MemberId id) const;
467 
468  RTPS_DllAPI ReturnCode_t set_bool_value(
469  bool value,
470  MemberId id = MEMBER_ID_INVALID);
471 
473  bool value,
474  const std::string& name)
475  {
476  MemberId id = get_member_id_by_name(name);
477  if (id != MEMBER_ID_INVALID)
478  {
479  return set_bool_value(value, id);
480  }
481  return ReturnCode_t::RETCODE_BAD_PARAMETER;
482  }
483 
484  RTPS_DllAPI ReturnCode_t get_string_value(
485  std::string& value,
486  MemberId id) const;
487 
488  RTPS_DllAPI ReturnCode_t set_string_value(
489  const std::string& value,
490  MemberId id = MEMBER_ID_INVALID);
491 
492  RTPS_DllAPI ReturnCode_t get_wstring_value(
493  std::wstring& value,
494  MemberId id) const;
495 
496  RTPS_DllAPI ReturnCode_t set_wstring_value(
497  const std::wstring& value,
498  MemberId id = MEMBER_ID_INVALID);
499 
500  RTPS_DllAPI ReturnCode_t get_enum_value(
501  std::string& value,
502  MemberId id) const;
503 
504  RTPS_DllAPI ReturnCode_t set_enum_value(
505  const std::string& value,
506  MemberId id = MEMBER_ID_INVALID);
507 
508  RTPS_DllAPI ReturnCode_t get_enum_value(
509  uint32_t& value,
510  MemberId id) const;
511 
512  RTPS_DllAPI ReturnCode_t set_enum_value(
513  const uint32_t& value,
514  MemberId id = MEMBER_ID_INVALID);
515 
516  RTPS_DllAPI ReturnCode_t get_bitmask_value(
517  uint64_t& value) const;
518 
519  RTPS_DllAPI uint64_t get_bitmask_value() const
520  {
521  uint64_t value;
522  if (get_bitmask_value(value) != ReturnCode_t::RETCODE_OK)
523  {
524  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
525  }
526  return value;
527  }
528 
529  RTPS_DllAPI ReturnCode_t set_bitmask_value(
530  uint64_t value);
531 
532  RTPS_DllAPI ReturnCode_t get_complex_value(
533  DynamicData** value,
534  MemberId id) const;
535 
536  RTPS_DllAPI ReturnCode_t set_complex_value(
537  DynamicData* value,
538  MemberId id = MEMBER_ID_INVALID);
539 
540  RTPS_DllAPI ReturnCode_t get_union_label(
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;
548  if (get_int32_value(value, id) != ReturnCode_t::RETCODE_OK)
549  {
550  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
551  }
552  return value;
553  }
554 
555  RTPS_DllAPI uint32_t get_uint32_value(
556  MemberId id) const
557  {
558  uint32_t value;
559  if (get_uint32_value(value, id) != ReturnCode_t::RETCODE_OK)
560  {
561  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
562  }
563  return value;
564  }
565 
566  RTPS_DllAPI int16_t get_int16_value(
567  MemberId id) const
568  {
569  int16_t value;
570  if (get_int16_value(value, id) != ReturnCode_t::RETCODE_OK)
571  {
572  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
573  }
574  return value;
575  }
576 
577  RTPS_DllAPI uint16_t get_uint16_value(
578  MemberId id) const
579  {
580  uint16_t value;
581  if (get_uint16_value(value, id) != ReturnCode_t::RETCODE_OK)
582  {
583  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
584  }
585  return value;
586  }
587 
588  RTPS_DllAPI int64_t get_int64_value(
589  MemberId id) const
590  {
591  int64_t value;
592  if (get_int64_value(value, id) != ReturnCode_t::RETCODE_OK)
593  {
594  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
595  }
596  return value;
597  }
598 
599  RTPS_DllAPI uint64_t get_uint64_value(
600  MemberId id) const
601  {
602  uint64_t value;
603  if (get_uint64_value(value, id) != ReturnCode_t::RETCODE_OK)
604  {
605  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
606  }
607  return value;
608  }
609 
610  RTPS_DllAPI float get_float32_value(
611  MemberId id) const
612  {
613  float value;
614  if (get_float32_value(value, id) != ReturnCode_t::RETCODE_OK)
615  {
616  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
617  }
618  return value;
619  }
620 
621  RTPS_DllAPI double get_float64_value(
622  MemberId id) const
623  {
624  double value;
625  if (get_float64_value(value, id) != ReturnCode_t::RETCODE_OK)
626  {
627  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
628  }
629  return value;
630  }
631 
632  RTPS_DllAPI long double get_float128_value(
633  MemberId id) const
634  {
635  long double value;
636  if (get_float128_value(value, id) != ReturnCode_t::RETCODE_OK)
637  {
638  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
639  }
640  return value;
641  }
642 
643  RTPS_DllAPI char get_char8_value(
644  MemberId id) const
645  {
646  char value;
647  if (get_char8_value(value, id) != ReturnCode_t::RETCODE_OK)
648  {
649  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
650  }
651  return value;
652  }
653 
654  RTPS_DllAPI wchar_t get_char16_value(
655  MemberId id) const
656  {
657  wchar_t value;
658  if (get_char16_value(value, id) != ReturnCode_t::RETCODE_OK)
659  {
660  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
661  }
662  return value;
663  }
664 
665  RTPS_DllAPI octet get_byte_value(
666  MemberId id) const
667  {
668  octet value;
669  if (get_byte_value(value, id) != ReturnCode_t::RETCODE_OK)
670  {
671  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
672  }
673  return value;
674  }
675 
676  RTPS_DllAPI int8_t get_int8_value(
677  MemberId id) const
678  {
679  int8_t value;
680  if (get_int8_value(value, id) != ReturnCode_t::RETCODE_OK)
681  {
682  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
683  }
684  return value;
685  }
686 
687  RTPS_DllAPI uint8_t get_uint8_value(
688  MemberId id) const
689  {
690  uint8_t value;
691  if (get_uint8_value(value, id) != ReturnCode_t::RETCODE_OK)
692  {
693  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
694  }
695  return value;
696  }
697 
698  RTPS_DllAPI bool get_bool_value(
699  MemberId id) const
700  {
701  bool value;
702  if (get_bool_value(value, id) != ReturnCode_t::RETCODE_OK)
703  {
704  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
705  }
706  return value;
707  }
708 
709  RTPS_DllAPI bool get_bool_value(
710  const std::string& name) const
711  {
712  MemberId id = get_member_id_by_name(name);
713  bool value;
714  if (get_bool_value(value, id) != ReturnCode_t::RETCODE_OK)
715  {
716  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
717  }
718  return value;
719  }
720 
721  RTPS_DllAPI std::string get_string_value(
722  MemberId id) const
723  {
724  std::string value;
725  if (get_string_value(value, id) != ReturnCode_t::RETCODE_OK)
726  {
727  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
728  }
729  return value;
730  }
731 
732  RTPS_DllAPI std::wstring get_wstring_value(
733  MemberId id) const
734  {
735  std::wstring value;
736  if (get_wstring_value(value, id) != ReturnCode_t::RETCODE_OK)
737  {
738  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
739  }
740  return value;
741  }
742 
743  RTPS_DllAPI std::string get_enum_value(
744  MemberId id) const
745  {
746  std::string value;
747  if (get_enum_value(value, id) != ReturnCode_t::RETCODE_OK)
748  {
749  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
750  }
751  return value;
752  }
753 
754  RTPS_DllAPI uint64_t get_union_label() const
755  {
756  uint64_t value;
757  if (get_union_label(value) != ReturnCode_t::RETCODE_OK)
758  {
759  throw ReturnCode_t::RETCODE_BAD_PARAMETER;
760  }
761  return value;
762  }
763 
764  RTPS_DllAPI uint64_t get_discriminator_value() const
765  {
766  return discriminator_value_;
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
RTPS_DllAPI uint16_t get_uint16_value(MemberId id) const
Definition: DynamicData.h:577
Definition: DynamicPubSubType.h:28
RTPS_DllAPI uint64_t get_discriminator_value() const
Definition: DynamicData.h:764
RTPS_DllAPI wchar_t get_char16_value(MemberId id) const
Definition: DynamicData.h:654
DynamicData * union_discriminator_
Definition: DynamicData.h:172
Definition: DynamicDataPtr.h:26
RTPS_DllAPI ReturnCode_t set_bool_value(bool value, const std::string &name)
Definition: DynamicData.h:472
RTPS_DllAPI ReturnCode_t set_uint8_value(uint8_t value, MemberId id=MEMBER_ID_INVALID)
Definition: DynamicData.h:457
RTPS_DllAPI octet get_byte_value(MemberId id) const
Definition: DynamicData.h:665
Definition: DynamicData.h:43
uint32_t MemberId
Definition: TypesBase.h:272
RTPS_DllAPI bool get_bool_value(const std::string &name) const
Definition: DynamicData.h:709
std::map< MemberId, MemberDescriptor * > descriptors_
Definition: DynamicData.h:145
RTPS_DllAPI std::string get_enum_value(MemberId id) const
Definition: DynamicData.h:743
RTPS_DllAPI int16_t get_int16_value(MemberId id) const
Definition: DynamicData.h:566
uint64_t discriminator_value_
Definition: DynamicData.h:173
std::map< MemberId, void * > values_
Definition: DynamicData.h:165
RTPS_DllAPI std::string get_string_value(MemberId id) const
Definition: DynamicData.h:721
bool key_element_
Definition: DynamicData.h:168
RTPS_DllAPI int64_t get_int64_value(MemberId id) const
Definition: DynamicData.h:588
RTPS_DllAPI long double get_float128_value(MemberId id) const
Definition: DynamicData.h:632
RTPS_DllAPI std::wstring get_wstring_value(MemberId id) const
Definition: DynamicData.h:732
RTPS_DllAPI double get_float64_value(MemberId id) const
Definition: DynamicData.h:621
RTPS_DllAPI uint8_t get_uint8_value(MemberId id) const
Definition: DynamicData.h:687
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23
RTPS_DllAPI float get_float32_value(MemberId id) const
Definition: DynamicData.h:610
Definition: MemberDescriptor.h:28
uint64_t union_label_
Definition: DynamicData.h:170
RTPS_DllAPI ReturnCode_t set_int8_value(int8_t value, MemberId id=MEMBER_ID_INVALID)
Definition: DynamicData.h:440
octet TypeKind
Definition: TypesBase.h:119
This class represents the enumeration ReturnCode_t.
Definition: TypesBase.h:188
std::vector< MemberId > loaned_values_
Definition: DynamicData.h:167
RTPS_DllAPI int8_t get_int8_value(MemberId id) const
Definition: DynamicData.h:676
Definition: DynamicType.h:37
Definition: DynamicDataFactory.h:31
RTPS_DllAPI uint64_t get_union_label() const
Definition: DynamicData.h:754
RTPS_DllAPI uint64_t get_bitmask_value() const
Definition: DynamicData.h:519
RTPS_DllAPI bool get_bool_value(MemberId id) const
Definition: DynamicData.h:698
RTPS_DllAPI char get_char8_value(MemberId id) const
Definition: DynamicData.h:643
DynamicType_ptr type_
Definition: DynamicData.h:144
RTPS_DllAPI void get_discriminator_value(uint64_t &outValue) const
Definition: DynamicData.h:769
MemberId union_id_
Definition: DynamicData.h:171
RTPS_DllAPI void set_discriminator_value(uint64_t value)
Definition: DynamicData.h:775
RTPS_DllAPI uint32_t get_uint32_value(MemberId id) const
Definition: DynamicData.h:555
RTPS_DllAPI ReturnCode_t get_uint8_value(uint8_t &value, MemberId id) const
Definition: DynamicData.h:447
RTPS_DllAPI ReturnCode_t get_int8_value(int8_t &value, MemberId id) const
Definition: DynamicData.h:430
Definition: DynamicDataHelper.hpp:29
DynamicData * default_array_value_
Definition: DynamicData.h:169
RTPS_DllAPI int32_t get_int32_value(MemberId id) const
Definition: DynamicData.h:544
RTPS_DllAPI uint64_t get_uint64_value(MemberId id) const
Definition: DynamicData.h:599
Definition: DynamicTypePtr.h:26