15#ifndef TYPES_DYNAMIC_DATA_H
16#define TYPES_DYNAMIC_DATA_H
18#include <fastrtps/types/TypesBase.h>
19#include <fastrtps/types/DynamicDataPtr.h>
20#include <fastrtps/types/DynamicTypePtr.h>
27namespace DDSSQLFilter {
29class DDSFilterExpression;
41class MemberDescriptor;
83 eprosima::fastcdr::Cdr& cdr)
const;
89 std::string& sOutValue,
93 const std::string& sValue,
97 const std::string& name);
114 eprosima::fastcdr::Cdr& cdr);
117 eprosima::fastcdr::Cdr& cdr);
121 size_t current_alignment = 0);
125 size_t current_alignment = 0);
129 size_t current_alignment = 0);
133 size_t current_alignment = 0);
136 eprosima::fastcdr::Cdr& cdr)
const;
139 eprosima::fastcdr::Cdr& cdr)
const;
142 eprosima::fastcdr::Cdr& cdr)
const;
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_;
158 wchar_t char16_value_;
161 std::string string_value_;
162 std::wstring wstring_value_;
163 std::map<MemberId, DynamicData*> complex_values_;
207 const std::string& name)
const;
210 uint32_t index)
const;
219 const std::vector<uint32_t>& position);
277 const std::string& value,
281 const std::wstring& value,
285 const std::string& value,
436 value =
static_cast<int8_t
>(aux);
453 value =
static_cast<uint8_t
>(aux);
474 const std::string& name)
489 const std::string& value,
497 const std::wstring& value,
505 const std::string& value,
513 const uint32_t& value,
517 uint64_t& value)
const;
541 uint64_t& value)
const;
710 const std::string& name)
const
770 uint64_t& outValue)
const
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)
void update_union_discriminator()
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
void set_default_value(MemberId id)
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
MemberId get_union_id() const
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