6 #ifndef OPENDDS_DCPS_VALUE_READER_H 7 #define OPENDDS_DCPS_VALUE_READER_H 12 #include <FACE/Fixed.h> 37 const char*
name)
const = 0;
52 const char*
name)
const 54 for (
const Pair* ptr = pairs_; ptr->
name; ++ptr) {
55 if (std::strcmp(ptr->name, name) == 0) {
72 const char*
name)
const = 0;
87 const char*
name)
const 89 for (
const Pair* ptr = pairs_; ptr->
name; ++ptr) {
90 if (std::strcmp(ptr->name, name) == 0) {
108 virtual bool begin_struct() = 0;
109 virtual bool end_struct() = 0;
111 virtual bool end_struct_member() = 0;
113 virtual bool begin_union() = 0;
114 virtual bool end_union() = 0;
115 virtual bool begin_discriminator() = 0;
116 virtual bool end_discriminator() = 0;
117 virtual bool begin_union_member() = 0;
118 virtual bool end_union_member() = 0;
120 virtual bool begin_array() = 0;
121 virtual bool end_array() = 0;
122 virtual bool begin_sequence() = 0;
123 virtual bool elements_remaining() = 0;
124 virtual bool end_sequence() = 0;
125 virtual bool begin_element() = 0;
126 virtual bool end_element() = 0;
130 #if OPENDDS_HAS_EXPLICIT_INTS 144 #ifdef NONNATIVE_LONGDOUBLE 145 bool read_float128(
long double& value);
148 virtual bool read_fixed(OpenDDS::FaceTypes::Fixed& value) = 0;
151 virtual bool read_string(
String& value) = 0;
152 virtual bool read_wstring(
WString& value) = 0;
155 template <
typename T>
159 if (!read_long_enum(lvalue, helper)) {
162 value =
static_cast<T
>(lvalue);
169 virtual bool read_byte_array(
ACE_CDR::Octet* value,
size_t length);
170 #if OPENDDS_HAS_EXPLICIT_INTS 171 virtual bool read_int8_array(
ACE_CDR::Int8* value,
size_t length);
172 virtual bool read_uint8_array(
ACE_CDR::UInt8* value,
size_t length);
174 virtual bool read_int16_array(
ACE_CDR::Short* value,
size_t length);
176 virtual bool read_int32_array(
ACE_CDR::Long* value,
size_t length);
177 virtual bool read_uint32_array(
ACE_CDR::ULong* value,
size_t length);
180 virtual bool read_float32_array(
ACE_CDR::Float* value,
size_t length);
181 virtual bool read_float64_array(
ACE_CDR::Double* value,
size_t length);
183 virtual bool read_char8_array(
ACE_CDR::Char* value,
size_t length);
184 virtual bool read_char16_array(
ACE_CDR::WChar* value,
size_t length);
const LogLevel::Value value
ListMemberHelper(const Pair *pairs)
#define OpenDDS_Dcps_Export
ListEnumHelper(const Pair *pairs)
virtual bool get_value(XTypes::MemberId &value, const char *name) const =0
bool read_enum(T &value, const EnumHelper &helper)
bool get_value(ACE_CDR::Long &value, const char *name) const
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
bool get_value(XTypes::MemberId &value, const char *name) const