Fast RTPS  Version 2.8.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 
49  const DynamicData* pData);
51  DynamicType_ptr pType);
52 
54 
55  void add_value(
56  TypeKind kind,
57  MemberId id);
58 
60  DynamicType_ptr pType);
61 
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 
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 
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 
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 
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 
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 
180 public:
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 
212  RTPS_DllAPI DynamicData* loan_value(
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 
303  RTPS_DllAPI ReturnCode_t clear_data();
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,
340  MemberId id = MEMBER_ID_INVALID);
341 
343  uint32_t& value,
344  MemberId id) const;
345 
347  uint32_t value,
348  MemberId id = MEMBER_ID_INVALID);
349 
351  int16_t& value,
352  MemberId id) const;
353 
355  int16_t value,
356  MemberId id = MEMBER_ID_INVALID);
357 
359  uint16_t& value,
360  MemberId id) const;
361 
363  uint16_t value,
364  MemberId id = MEMBER_ID_INVALID);
365 
367  int64_t& value,
368  MemberId id) const;
369 
371  int64_t value,
372  MemberId id = MEMBER_ID_INVALID);
373 
375  uint64_t& value,
376  MemberId id) const;
377 
379  uint64_t value,
380  MemberId id = MEMBER_ID_INVALID);
381 
383  float& value,
384  MemberId id) const;
385 
387  float value,
388  MemberId id = MEMBER_ID_INVALID);
389 
391  double& value,
392  MemberId id) const;
393 
395  double value,
396  MemberId id = MEMBER_ID_INVALID);
397 
399  long double& value,
400  MemberId id) const;
401 
403  long double value,
404  MemberId id = MEMBER_ID_INVALID);
405 
407  char& value,
408  MemberId id) const;
409 
411  char value,
412  MemberId id = MEMBER_ID_INVALID);
413 
415  wchar_t& value,
416  MemberId id) const;
417 
419  wchar_t value,
420  MemberId id = MEMBER_ID_INVALID);
421 
423  octet& value,
424  MemberId id) const;
425 
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 
465  bool& value,
466  MemberId id) const;
467 
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  }
482  }
483 
485  std::string& value,
486  MemberId id) const;
487 
489  const std::string& value,
490  MemberId id = MEMBER_ID_INVALID);
491 
493  std::wstring& value,
494  MemberId id) const;
495 
497  const std::wstring& value,
498  MemberId id = MEMBER_ID_INVALID);
499 
501  std::string& value,
502  MemberId id) const;
503 
505  const std::string& value,
506  MemberId id = MEMBER_ID_INVALID);
507 
509  uint32_t& value,
510  MemberId id) const;
511 
513  const uint32_t& value,
514  MemberId id = MEMBER_ID_INVALID);
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,
538  MemberId id = MEMBER_ID_INVALID);
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;
548  if (get_int32_value(value, id) != ReturnCode_t::RETCODE_OK)
549  {
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  {
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  {
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  {
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  {
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  {
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;
647  if (get_char8_value(value, id) != ReturnCode_t::RETCODE_OK)
648  {
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  {
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  {
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  {
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  {
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  {
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  {
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  {
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;
747  if (get_enum_value(value, id) != ReturnCode_t::RETCODE_OK)
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  {
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
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
void * clone_value(MemberId id, TypeKind kind) const
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 DynamicData * loan_value(MemberId id)
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
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:189
@ RETCODE_OK
Definition: TypesBase.h:196
@ RETCODE_BAD_PARAMETER
Definition: TypesBase.h:199
uint32_t MemberId
Definition: TypesBase.h:272
octet TypeKind
Definition: TypesBase.h:119
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23