OpenDDS  Snapshot(2023/04/28-20:55)
ValueReader.cpp
Go to the documentation of this file.
1 /*
2  * Distributed under the OpenDDS License.
3  * See: http://www.opendds.org/license.html
4  */
5 
6 #include "DCPS/DdsDcps_pch.h" //Only the _pch include should start with DCPS/
7 
8 #include "ValueReader.h"
9 
11 
12 namespace OpenDDS {
13 namespace DCPS {
14 
15 #ifdef NONNATIVE_LONGDOUBLE
16 bool
18 {
20  if (!read_float128(ld)) {
21  return false;
22  }
23  value = ld;
24  return true;
25 }
26 #endif
27 
28 bool
30 {
31  for (size_t i = 0; i != length; ++i) {
32  if (!begin_element()) return false;
33  if (!read_boolean(value[i])) return false;
34  if (!end_element()) return false;
35  }
36  return true;
37 }
38 
39 bool
41 {
42  for (size_t i = 0; i != length; ++i) {
43  if (!begin_element()) return false;
44  if (!read_byte(value[i])) return false;
45  if (!end_element()) return false;
46  }
47  return true;
48 }
49 
50 #if OPENDDS_HAS_EXPLICIT_INTS
51 bool
52 ValueReader::read_int8_array(ACE_CDR::Int8* value, size_t length)
53 {
54  for (size_t i = 0; i != length; ++i) {
55  if (!begin_element()) return false;
56  if (!read_int8(value[i])) return false;
57  if (!end_element()) return false;
58  }
59  return true;
60 }
61 
62 bool
63 ValueReader::read_uint8_array(ACE_CDR::UInt8* value, size_t length)
64 {
65  for (size_t i = 0; i != length; ++i) {
66  if (!begin_element()) return false;
67  if (!read_uint8(value[i])) return false;
68  if (!end_element()) return false;
69  }
70  return true;
71 }
72 #endif
73 
74 bool
76 {
77  for (size_t i = 0; i != length; ++i) {
78  if (!begin_element()) return false;
79  if (!read_int16(value[i])) return false;
80  if (!end_element()) return false;
81  }
82  return true;
83 }
84 
85 bool
87 {
88  for (size_t i = 0; i != length; ++i) {
89  if (!begin_element()) return false;
90  if (!read_uint16(value[i])) return false;
91  if (!end_element()) return false;
92  }
93  return true;
94 }
95 
96 bool
98 {
99  for (size_t i = 0; i != length; ++i) {
100  if (!begin_element()) return false;
101  if (!read_int32(value[i])) return false;
102  if (!end_element()) return false;
103  }
104  return true;
105 }
106 
107 bool
109 {
110  for (size_t i = 0; i != length; ++i) {
111  if (!begin_element()) return false;
112  if (!read_uint32(value[i])) return false;
113  if (!end_element()) return false;
114  }
115  return true;
116 }
117 
118 bool
120 {
121  for (size_t i = 0; i != length; ++i) {
122  if (!begin_element()) return false;
123  if (!read_int64(value[i])) return false;
124  if (!end_element()) return false;
125  }
126  return true;
127 }
128 
129 bool
131 {
132  for (size_t i = 0; i != length; ++i) {
133  if (!begin_element()) return false;
134  if (!read_uint64(value[i])) return false;
135  if (!end_element()) return false;
136  }
137  return true;
138 }
139 
140 bool
142 {
143  for (size_t i = 0; i != length; ++i) {
144  if (!begin_element()) return false;
145  if (!read_float32(value[i])) return false;
146  if (!end_element()) return false;
147  }
148  return true;
149 }
150 
151 bool
153 {
154  for (size_t i = 0; i != length; ++i) {
155  if (!begin_element()) return false;
156  if (!read_float64(value[i])) return false;
157  if (!end_element()) return false;
158  }
159  return true;
160 }
161 
162 bool
164 {
165  for (size_t i = 0; i != length; ++i) {
166  if (!begin_element()) return false;
167  if (!read_float128(value[i])) return false;
168  if (!end_element()) return false;
169  }
170  return true;
171 }
172 
173 bool
175 {
176  for (size_t i = 0; i != length; ++i) {
177  if (!begin_element()) return false;
178  if (!read_char8(value[i])) return false;
179  if (!end_element()) return false;
180  }
181  return true;
182 }
183 
184 bool
186 {
187  for (size_t i = 0; i != length; ++i) {
188  if (!begin_element()) return false;
189  if (!read_char16(value[i])) return false;
190  if (!end_element()) return false;
191  }
192  return true;
193 }
194 
195 } // namespace DCPS
196 } // namespace OpenDDS
197 
ACE_Byte Octet
virtual bool read_int16(ACE_CDR::Short &value)=0
virtual bool read_boolean(ACE_CDR::Boolean &value)=0
ACE_INT64 LongLong
const LogLevel::Value value
Definition: debug.cpp:61
virtual bool read_int64_array(ACE_CDR::LongLong *value, size_t length)
virtual bool read_char8(ACE_CDR::Char &value)=0
virtual bool read_float64(ACE_CDR::Double &value)=0
virtual bool read_float64_array(ACE_CDR::Double *value, size_t length)
ACE_UINT64 ULongLong
virtual bool read_boolean_array(ACE_CDR::Boolean *value, size_t length)
Definition: ValueReader.cpp:29
virtual bool read_float32(ACE_CDR::Float &value)=0
virtual bool end_element()=0
virtual bool read_int64(ACE_CDR::LongLong &value)=0
virtual bool read_byte_array(ACE_CDR::Octet *value, size_t length)
Definition: ValueReader.cpp:40
ACE_INT16 Short
virtual bool read_uint32(ACE_CDR::ULong &value)=0
virtual bool read_uint16_array(ACE_CDR::UShort *value, size_t length)
Definition: ValueReader.cpp:86
virtual bool read_float128_array(ACE_CDR::LongDouble *value, size_t length)
char Char
virtual bool read_uint64_array(ACE_CDR::ULongLong *value, size_t length)
virtual bool read_uint64(ACE_CDR::ULongLong &value)=0
ACE_UINT16 UShort
virtual bool read_int32_array(ACE_CDR::Long *value, size_t length)
Definition: ValueReader.cpp:97
virtual bool read_float128(ACE_CDR::LongDouble &value)=0
ACE_UINT32 ULong
virtual bool read_int16_array(ACE_CDR::Short *value, size_t length)
Definition: ValueReader.cpp:75
virtual bool read_uint32_array(ACE_CDR::ULong *value, size_t length)
virtual bool read_char8_array(ACE_CDR::Char *value, size_t length)
ACE_INT32 Long
virtual bool read_int32(ACE_CDR::Long &value)=0
virtual bool read_uint16(ACE_CDR::UShort &value)=0
ACE_INT8 Int8
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
virtual bool read_float32_array(ACE_CDR::Float *value, size_t length)
virtual bool read_char16(ACE_CDR::WChar &value)=0
ACE_WCHAR_T WChar
bool Boolean
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
virtual bool read_char16_array(ACE_CDR::WChar *value, size_t length)
ACE_UINT8 UInt8
virtual bool begin_element()=0
virtual bool read_byte(ACE_CDR::Octet &value)=0