MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / extractions

Function extractions

tests/DCPS/Serializer/SerializerTest.cpp:156–317  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

154}
155
156bool extractions(Serializer& serializer, Values& values,
157 const Encoding& encoding, const bool checkPos)
158{
159 bool readPosOk = true;
160 size_t pos = serializer.rpos(), expectedPos = 0, prevPos = pos;
161 if (pos != expectedPos) {
162 std::cerr << "ERROR: Initial position is" << pos
163 << ". It should be 0." << std::endl;
164 readPosOk = false;
165 }
166
167 serializer >> ACE_InputCDR::to_octet(values.octetValue);
168 if (checkPos) {
169 expectedPos += 1;
170 pos = serializer.rpos();
171 print(pos, expectedPos, prevPos, readPosOk, "octet");
172 }
173
174#if OPENDDS_HAS_EXPLICIT_INTS
175 serializer >> ACE_InputCDR::to_int8(values.int8Value);
176 if (checkPos) {
177 expectedPos += OpenDDS::DCPS::int8_cdr_size;
178 pos = serializer.rpos();
179 print(pos, expectedPos, prevPos, readPosOk, "int8");
180 }
181#endif
182
183 serializer >> values.shortValue;
184 if (checkPos) {
185 expectedPos += skip(pos, OpenDDS::DCPS::int16_cdr_size, encoding.max_align()) +
186 OpenDDS::DCPS::int16_cdr_size;
187 pos = serializer.rpos();
188 print(pos, expectedPos, prevPos, readPosOk, "short");
189 }
190
191 serializer >> values.longValue;
192 if (checkPos) {
193 expectedPos += skip(pos, OpenDDS::DCPS::int32_cdr_size, encoding.max_align()) +
194 OpenDDS::DCPS::int32_cdr_size;
195 pos = serializer.rpos();
196 print(pos, expectedPos, prevPos, readPosOk, "long");
197 }
198
199 serializer >> values.longlongValue;
200 if (checkPos) {
201 expectedPos += skip(pos, OpenDDS::DCPS::int64_cdr_size, encoding.max_align()) +
202 OpenDDS::DCPS::int64_cdr_size;
203 pos = serializer.rpos();
204 print(pos, expectedPos, prevPos, readPosOk, "long long");
205 }
206
207#if OPENDDS_HAS_EXPLICIT_INTS
208 serializer >> ACE_InputCDR::to_uint8(values.uint8Value);
209 if (checkPos) {
210 expectedPos += OpenDDS::DCPS::uint8_cdr_size;
211 pos = serializer.rpos();
212 print(pos, expectedPos, prevPos, readPosOk, "uint8");
213 }

Callers 1

runTestFunction · 0.85

Calls 4

skipFunction · 0.85
printFunction · 0.70
to_stringFunction · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected