GCC Code Coverage Report


Directory: ./
File: tmp_project/DataStream/src/data_stream_message.cpp
Date: 2024-12-09 11:00:39
Exec Total Coverage
Lines: 235 235 100.0%
Branches: 7 11 63.6%

Line Branch Exec Source
1 /***************************************
2 Auteur : Pierre Aubert
3 Mail : pierre.aubert@lapp.in2p3.fr
4 Licence : CeCILL-C
5 ****************************************/
6
7
8 #include "data_stream_message.h"
9
10
11 ///Read the bool in the message
12 /** @param[out] ds : message to be read
13 * @param[out] data : data to be set
14 * @return true on success, false otherwise
15 */
16 1 bool DataStream<char*, DataStreamMode::READ, bool>::data_stream(char* & ds, bool & data){
17 1 char* srcByte = (char*)&data;
18 1 memcpy(srcByte, ds, sizeof(bool));
19 1 ds += sizeof(bool);
20 1 return true;
21 }
22
23 ///Read the bool in the message
24 /** @param[out] ds : message to be read
25 * @param[out] data : data to be set
26 * @param nbElement : number of element of the data
27 * @return true on success, false otherwise
28 */
29 98 bool DataStream<char*, DataStreamMode::READ, bool>::data_stream(char* & ds, bool * data, size_t nbElement){
30 98 char* srcByte = (char*)data;
31 98 memcpy(srcByte, ds, sizeof(bool)*nbElement);
32 98 ds += sizeof(bool)*nbElement;
33 98 return true;
34 }
35
36 ///Save the bool in the message
37 /** @param[out] ds : message to be written
38 * @param data : data to be saved in the message
39 * @return true on success, false otherwise
40 */
41 1 bool DataStream<char*, DataStreamMode::WRITE, bool>::data_stream(char* & ds, bool & data){
42 1 const char* srcByte = (const char*)&data;
43 1 memcpy(ds, srcByte, sizeof(bool));
44 1 ds += sizeof(bool);
45 1 return true;
46 }
47
48 ///Save the bool in the message
49 /** @param[out] ds : message to be written
50 * @param data : data to be saved in the message
51 * @param nbElement : number of element of the data
52 * @return true on success, false otherwise
53 */
54 98 bool DataStream<char*, DataStreamMode::WRITE, bool>::data_stream(char* & ds, bool * data, size_t nbElement){
55 98 const char* srcByte = (const char*)data;
56 98 memcpy(ds, srcByte, sizeof(bool)*nbElement);
57 98 ds += sizeof(bool)*nbElement;
58 98 return true;
59 }
60
61 ///Read the char in the message
62 /** @param[out] ds : message to be read
63 * @param[out] data : data to be set
64 * @return true on success, false otherwise
65 */
66 61 bool DataStream<char*, DataStreamMode::READ, char>::data_stream(char* & ds, char & data){
67 61 char* srcByte = (char*)&data;
68 61 memcpy(srcByte, ds, sizeof(char));
69 61 ds += sizeof(char);
70 61 return true;
71 }
72
73 ///Read the char in the message
74 /** @param[out] ds : message to be read
75 * @param[out] data : data to be set
76 * @param nbElement : number of element of the data
77 * @return true on success, false otherwise
78 */
79 98 bool DataStream<char*, DataStreamMode::READ, char>::data_stream(char* & ds, char * data, size_t nbElement){
80 98 char* srcByte = (char*)data;
81 98 memcpy(srcByte, ds, sizeof(char)*nbElement);
82 98 ds += sizeof(char)*nbElement;
83 98 return true;
84 }
85
86 ///Save the char in the message
87 /** @param[out] ds : message to be written
88 * @param data : data to be saved in the message
89 * @return true on success, false otherwise
90 */
91 60 bool DataStream<char*, DataStreamMode::WRITE, char>::data_stream(char* & ds, char & data){
92 60 const char* srcByte = (const char*)&data;
93 60 memcpy(ds, srcByte, sizeof(char));
94 60 ds += sizeof(char);
95 60 return true;
96 }
97
98 ///Save the char in the message
99 /** @param[out] ds : message to be written
100 * @param data : data to be saved in the message
101 * @param nbElement : number of element of the data
102 * @return true on success, false otherwise
103 */
104 98 bool DataStream<char*, DataStreamMode::WRITE, char>::data_stream(char* & ds, char * data, size_t nbElement){
105 98 const char* srcByte = (const char*)data;
106 98 memcpy(ds, srcByte, sizeof(char)*nbElement);
107 98 ds += sizeof(char)*nbElement;
108 98 return true;
109 }
110
111 ///Read the short in the message
112 /** @param[out] ds : message to be read
113 * @param[out] data : data to be set
114 * @return true on success, false otherwise
115 */
116 61 bool DataStream<char*, DataStreamMode::READ, short>::data_stream(char* & ds, short & data){
117 61 char* srcByte = (char*)&data;
118 61 memcpy(srcByte, ds, sizeof(short));
119 61 ds += sizeof(short);
120 61 return true;
121 }
122
123 ///Read the short in the message
124 /** @param[out] ds : message to be read
125 * @param[out] data : data to be set
126 * @param nbElement : number of element of the data
127 * @return true on success, false otherwise
128 */
129 98 bool DataStream<char*, DataStreamMode::READ, short>::data_stream(char* & ds, short * data, size_t nbElement){
130 98 char* srcByte = (char*)data;
131 98 memcpy(srcByte, ds, sizeof(short)*nbElement);
132 98 ds += sizeof(short)*nbElement;
133 98 return true;
134 }
135
136 ///Save the short in the message
137 /** @param[out] ds : message to be written
138 * @param data : data to be saved in the message
139 * @return true on success, false otherwise
140 */
141 60 bool DataStream<char*, DataStreamMode::WRITE, short>::data_stream(char* & ds, short & data){
142 60 const char* srcByte = (const char*)&data;
143 60 memcpy(ds, srcByte, sizeof(short));
144 60 ds += sizeof(short);
145 60 return true;
146 }
147
148 ///Save the short in the message
149 /** @param[out] ds : message to be written
150 * @param data : data to be saved in the message
151 * @param nbElement : number of element of the data
152 * @return true on success, false otherwise
153 */
154 98 bool DataStream<char*, DataStreamMode::WRITE, short>::data_stream(char* & ds, short * data, size_t nbElement){
155 98 const char* srcByte = (const char*)data;
156 98 memcpy(ds, srcByte, sizeof(short)*nbElement);
157 98 ds += sizeof(short)*nbElement;
158 98 return true;
159 }
160
161 ///Read the int in the message
162 /** @param[out] ds : message to be read
163 * @param[out] data : data to be set
164 * @return true on success, false otherwise
165 */
166 62 bool DataStream<char*, DataStreamMode::READ, int>::data_stream(char* & ds, int & data){
167 62 char* srcByte = (char*)&data;
168 62 memcpy(srcByte, ds, sizeof(int));
169 62 ds += sizeof(int);
170 62 return true;
171 }
172
173 ///Read the int in the message
174 /** @param[out] ds : message to be read
175 * @param[out] data : data to be set
176 * @param nbElement : number of element of the data
177 * @return true on success, false otherwise
178 */
179 98 bool DataStream<char*, DataStreamMode::READ, int>::data_stream(char* & ds, int * data, size_t nbElement){
180 98 char* srcByte = (char*)data;
181 98 memcpy(srcByte, ds, sizeof(int)*nbElement);
182 98 ds += sizeof(int)*nbElement;
183 98 return true;
184 }
185
186 ///Save the int in the message
187 /** @param[out] ds : message to be written
188 * @param data : data to be saved in the message
189 * @return true on success, false otherwise
190 */
191 84 bool DataStream<char*, DataStreamMode::WRITE, int>::data_stream(char* & ds, int & data){
192 84 const char* srcByte = (const char*)&data;
193 84 memcpy(ds, srcByte, sizeof(int));
194 84 ds += sizeof(int);
195 84 return true;
196 }
197
198 ///Save the int in the message
199 /** @param[out] ds : message to be written
200 * @param data : data to be saved in the message
201 * @param nbElement : number of element of the data
202 * @return true on success, false otherwise
203 */
204 98 bool DataStream<char*, DataStreamMode::WRITE, int>::data_stream(char* & ds, int * data, size_t nbElement){
205 98 const char* srcByte = (const char*)data;
206 98 memcpy(ds, srcByte, sizeof(int)*nbElement);
207 98 ds += sizeof(int)*nbElement;
208 98 return true;
209 }
210
211 ///Read the long int in the message
212 /** @param[out] ds : message to be read
213 * @param[out] data : data to be set
214 * @return true on success, false otherwise
215 */
216 61 bool DataStream<char*, DataStreamMode::READ, long int>::data_stream(char* & ds, long int & data){
217 61 char* srcByte = (char*)&data;
218 61 memcpy(srcByte, ds, sizeof(long int));
219 61 ds += sizeof(long int);
220 61 return true;
221 }
222
223 ///Read the long int in the message
224 /** @param[out] ds : message to be read
225 * @param[out] data : data to be set
226 * @param nbElement : number of element of the data
227 * @return true on success, false otherwise
228 */
229 98 bool DataStream<char*, DataStreamMode::READ, long int>::data_stream(char* & ds, long int * data, size_t nbElement){
230 98 char* srcByte = (char*)data;
231 98 memcpy(srcByte, ds, sizeof(long int)*nbElement);
232 98 ds += sizeof(long int)*nbElement;
233 98 return true;
234 }
235
236 ///Save the long int in the message
237 /** @param[out] ds : message to be written
238 * @param data : data to be saved in the message
239 * @return true on success, false otherwise
240 */
241 61 bool DataStream<char*, DataStreamMode::WRITE, long int>::data_stream(char* & ds, long int & data){
242 61 const char* srcByte = (const char*)&data;
243 61 memcpy(ds, srcByte, sizeof(long int));
244 61 ds += sizeof(long int);
245 61 return true;
246 }
247
248 ///Save the long int in the message
249 /** @param[out] ds : message to be written
250 * @param data : data to be saved in the message
251 * @param nbElement : number of element of the data
252 * @return true on success, false otherwise
253 */
254 98 bool DataStream<char*, DataStreamMode::WRITE, long int>::data_stream(char* & ds, long int * data, size_t nbElement){
255 98 const char* srcByte = (const char*)data;
256 98 memcpy(ds, srcByte, sizeof(long int)*nbElement);
257 98 ds += sizeof(long int)*nbElement;
258 98 return true;
259 }
260
261 ///Read the unsigned char in the message
262 /** @param[out] ds : message to be read
263 * @param[out] data : data to be set
264 * @return true on success, false otherwise
265 */
266 61 bool DataStream<char*, DataStreamMode::READ, unsigned char>::data_stream(char* & ds, unsigned char & data){
267 61 char* srcByte = (char*)&data;
268 61 memcpy(srcByte, ds, sizeof(unsigned char));
269 61 ds += sizeof(unsigned char);
270 61 return true;
271 }
272
273 ///Read the unsigned char in the message
274 /** @param[out] ds : message to be read
275 * @param[out] data : data to be set
276 * @param nbElement : number of element of the data
277 * @return true on success, false otherwise
278 */
279 98 bool DataStream<char*, DataStreamMode::READ, unsigned char>::data_stream(char* & ds, unsigned char * data, size_t nbElement){
280 98 char* srcByte = (char*)data;
281 98 memcpy(srcByte, ds, sizeof(unsigned char)*nbElement);
282 98 ds += sizeof(unsigned char)*nbElement;
283 98 return true;
284 }
285
286 ///Save the unsigned char in the message
287 /** @param[out] ds : message to be written
288 * @param data : data to be saved in the message
289 * @return true on success, false otherwise
290 */
291 60 bool DataStream<char*, DataStreamMode::WRITE, unsigned char>::data_stream(char* & ds, unsigned char & data){
292 60 const char* srcByte = (const char*)&data;
293 60 memcpy(ds, srcByte, sizeof(unsigned char));
294 60 ds += sizeof(unsigned char);
295 60 return true;
296 }
297
298 ///Save the unsigned char in the message
299 /** @param[out] ds : message to be written
300 * @param data : data to be saved in the message
301 * @param nbElement : number of element of the data
302 * @return true on success, false otherwise
303 */
304 98 bool DataStream<char*, DataStreamMode::WRITE, unsigned char>::data_stream(char* & ds, unsigned char * data, size_t nbElement){
305 98 const char* srcByte = (const char*)data;
306 98 memcpy(ds, srcByte, sizeof(unsigned char)*nbElement);
307 98 ds += sizeof(unsigned char)*nbElement;
308 98 return true;
309 }
310
311 ///Read the unsigned short in the message
312 /** @param[out] ds : message to be read
313 * @param[out] data : data to be set
314 * @return true on success, false otherwise
315 */
316 61 bool DataStream<char*, DataStreamMode::READ, unsigned short>::data_stream(char* & ds, unsigned short & data){
317 61 char* srcByte = (char*)&data;
318 61 memcpy(srcByte, ds, sizeof(unsigned short));
319 61 ds += sizeof(unsigned short);
320 61 return true;
321 }
322
323 ///Read the unsigned short in the message
324 /** @param[out] ds : message to be read
325 * @param[out] data : data to be set
326 * @param nbElement : number of element of the data
327 * @return true on success, false otherwise
328 */
329 98 bool DataStream<char*, DataStreamMode::READ, unsigned short>::data_stream(char* & ds, unsigned short * data, size_t nbElement){
330 98 char* srcByte = (char*)data;
331 98 memcpy(srcByte, ds, sizeof(unsigned short)*nbElement);
332 98 ds += sizeof(unsigned short)*nbElement;
333 98 return true;
334 }
335
336 ///Save the unsigned short in the message
337 /** @param[out] ds : message to be written
338 * @param data : data to be saved in the message
339 * @return true on success, false otherwise
340 */
341 60 bool DataStream<char*, DataStreamMode::WRITE, unsigned short>::data_stream(char* & ds, unsigned short & data){
342 60 const char* srcByte = (const char*)&data;
343 60 memcpy(ds, srcByte, sizeof(unsigned short));
344 60 ds += sizeof(unsigned short);
345 60 return true;
346 }
347
348 ///Save the unsigned short in the message
349 /** @param[out] ds : message to be written
350 * @param data : data to be saved in the message
351 * @param nbElement : number of element of the data
352 * @return true on success, false otherwise
353 */
354 98 bool DataStream<char*, DataStreamMode::WRITE, unsigned short>::data_stream(char* & ds, unsigned short * data, size_t nbElement){
355 98 const char* srcByte = (const char*)data;
356 98 memcpy(ds, srcByte, sizeof(unsigned short)*nbElement);
357 98 ds += sizeof(unsigned short)*nbElement;
358 98 return true;
359 }
360
361 ///Read the unsigned int in the message
362 /** @param[out] ds : message to be read
363 * @param[out] data : data to be set
364 * @return true on success, false otherwise
365 */
366 61 bool DataStream<char*, DataStreamMode::READ, unsigned int>::data_stream(char* & ds, unsigned int & data){
367 61 char* srcByte = (char*)&data;
368 61 memcpy(srcByte, ds, sizeof(unsigned int));
369 61 ds += sizeof(unsigned int);
370 61 return true;
371 }
372
373 ///Read the unsigned int in the message
374 /** @param[out] ds : message to be read
375 * @param[out] data : data to be set
376 * @param nbElement : number of element of the data
377 * @return true on success, false otherwise
378 */
379 98 bool DataStream<char*, DataStreamMode::READ, unsigned int>::data_stream(char* & ds, unsigned int * data, size_t nbElement){
380 98 char* srcByte = (char*)data;
381 98 memcpy(srcByte, ds, sizeof(unsigned int)*nbElement);
382 98 ds += sizeof(unsigned int)*nbElement;
383 98 return true;
384 }
385
386 ///Save the unsigned int in the message
387 /** @param[out] ds : message to be written
388 * @param data : data to be saved in the message
389 * @return true on success, false otherwise
390 */
391 63 bool DataStream<char*, DataStreamMode::WRITE, unsigned int>::data_stream(char* & ds, unsigned int & data){
392 63 const char* srcByte = (const char*)&data;
393 63 memcpy(ds, srcByte, sizeof(unsigned int));
394 63 ds += sizeof(unsigned int);
395 63 return true;
396 }
397
398 ///Save the unsigned int in the message
399 /** @param[out] ds : message to be written
400 * @param data : data to be saved in the message
401 * @param nbElement : number of element of the data
402 * @return true on success, false otherwise
403 */
404 98 bool DataStream<char*, DataStreamMode::WRITE, unsigned int>::data_stream(char* & ds, unsigned int * data, size_t nbElement){
405 98 const char* srcByte = (const char*)data;
406 98 memcpy(ds, srcByte, sizeof(unsigned int)*nbElement);
407 98 ds += sizeof(unsigned int)*nbElement;
408 98 return true;
409 }
410
411 ///Read the long unsigned int in the message
412 /** @param[out] ds : message to be read
413 * @param[out] data : data to be set
414 * @return true on success, false otherwise
415 */
416 115 bool DataStream<char*, DataStreamMode::READ, long unsigned int>::data_stream(char* & ds, long unsigned int & data){
417 115 char* srcByte = (char*)&data;
418 115 memcpy(srcByte, ds, sizeof(long unsigned int));
419 115 ds += sizeof(long unsigned int);
420 115 return true;
421 }
422
423 ///Read the long unsigned int in the message
424 /** @param[out] ds : message to be read
425 * @param[out] data : data to be set
426 * @param nbElement : number of element of the data
427 * @return true on success, false otherwise
428 */
429 98 bool DataStream<char*, DataStreamMode::READ, long unsigned int>::data_stream(char* & ds, long unsigned int * data, size_t nbElement){
430 98 char* srcByte = (char*)data;
431 98 memcpy(srcByte, ds, sizeof(long unsigned int)*nbElement);
432 98 ds += sizeof(long unsigned int)*nbElement;
433 98 return true;
434 }
435
436 ///Save the long unsigned int in the message
437 /** @param[out] ds : message to be written
438 * @param data : data to be saved in the message
439 * @return true on success, false otherwise
440 */
441 297 bool DataStream<char*, DataStreamMode::WRITE, long unsigned int>::data_stream(char* & ds, long unsigned int & data){
442 297 const char* srcByte = (const char*)&data;
443 297 memcpy(ds, srcByte, sizeof(long unsigned int));
444 297 ds += sizeof(long unsigned int);
445 297 return true;
446 }
447
448 ///Save the long unsigned int in the message
449 /** @param[out] ds : message to be written
450 * @param data : data to be saved in the message
451 * @param nbElement : number of element of the data
452 * @return true on success, false otherwise
453 */
454 98 bool DataStream<char*, DataStreamMode::WRITE, long unsigned int>::data_stream(char* & ds, long unsigned int * data, size_t nbElement){
455 98 const char* srcByte = (const char*)data;
456 98 memcpy(ds, srcByte, sizeof(long unsigned int)*nbElement);
457 98 ds += sizeof(long unsigned int)*nbElement;
458 98 return true;
459 }
460
461 ///Read the float in the message
462 /** @param[out] ds : message to be read
463 * @param[out] data : data to be set
464 * @return true on success, false otherwise
465 */
466 1 bool DataStream<char*, DataStreamMode::READ, float>::data_stream(char* & ds, float & data){
467 1 char* srcByte = (char*)&data;
468 1 memcpy(srcByte, ds, sizeof(float));
469 1 ds += sizeof(float);
470 1 return true;
471 }
472
473 ///Read the float in the message
474 /** @param[out] ds : message to be read
475 * @param[out] data : data to be set
476 * @param nbElement : number of element of the data
477 * @return true on success, false otherwise
478 */
479 98 bool DataStream<char*, DataStreamMode::READ, float>::data_stream(char* & ds, float * data, size_t nbElement){
480 98 char* srcByte = (char*)data;
481 98 memcpy(srcByte, ds, sizeof(float)*nbElement);
482 98 ds += sizeof(float)*nbElement;
483 98 return true;
484 }
485
486 ///Save the float in the message
487 /** @param[out] ds : message to be written
488 * @param data : data to be saved in the message
489 * @return true on success, false otherwise
490 */
491 1 bool DataStream<char*, DataStreamMode::WRITE, float>::data_stream(char* & ds, float & data){
492 1 const char* srcByte = (const char*)&data;
493 1 memcpy(ds, srcByte, sizeof(float));
494 1 ds += sizeof(float);
495 1 return true;
496 }
497
498 ///Save the float in the message
499 /** @param[out] ds : message to be written
500 * @param data : data to be saved in the message
501 * @param nbElement : number of element of the data
502 * @return true on success, false otherwise
503 */
504 98 bool DataStream<char*, DataStreamMode::WRITE, float>::data_stream(char* & ds, float * data, size_t nbElement){
505 98 const char* srcByte = (const char*)data;
506 98 memcpy(ds, srcByte, sizeof(float)*nbElement);
507 98 ds += sizeof(float)*nbElement;
508 98 return true;
509 }
510
511 ///Read the double in the message
512 /** @param[out] ds : message to be read
513 * @param[out] data : data to be set
514 * @return true on success, false otherwise
515 */
516 1 bool DataStream<char*, DataStreamMode::READ, double>::data_stream(char* & ds, double & data){
517 1 char* srcByte = (char*)&data;
518 1 memcpy(srcByte, ds, sizeof(double));
519 1 ds += sizeof(double);
520 1 return true;
521 }
522
523 ///Read the double in the message
524 /** @param[out] ds : message to be read
525 * @param[out] data : data to be set
526 * @param nbElement : number of element of the data
527 * @return true on success, false otherwise
528 */
529 98 bool DataStream<char*, DataStreamMode::READ, double>::data_stream(char* & ds, double * data, size_t nbElement){
530 98 char* srcByte = (char*)data;
531 98 memcpy(srcByte, ds, sizeof(double)*nbElement);
532 98 ds += sizeof(double)*nbElement;
533 98 return true;
534 }
535
536 ///Save the double in the message
537 /** @param[out] ds : message to be written
538 * @param data : data to be saved in the message
539 * @return true on success, false otherwise
540 */
541 1 bool DataStream<char*, DataStreamMode::WRITE, double>::data_stream(char* & ds, double & data){
542 1 const char* srcByte = (const char*)&data;
543 1 memcpy(ds, srcByte, sizeof(double));
544 1 ds += sizeof(double);
545 1 return true;
546 }
547
548 ///Save the double in the message
549 /** @param[out] ds : message to be written
550 * @param data : data to be saved in the message
551 * @param nbElement : number of element of the data
552 * @return true on success, false otherwise
553 */
554 98 bool DataStream<char*, DataStreamMode::WRITE, double>::data_stream(char* & ds, double * data, size_t nbElement){
555 98 const char* srcByte = (const char*)data;
556 98 memcpy(ds, srcByte, sizeof(double)*nbElement);
557 98 ds += sizeof(double)*nbElement;
558 98 return true;
559 }
560
561 ///Load a std::string from a message
562 /** @param[out] ds : message iterator which contains std::string
563 * @param data : std::string to be loaded
564 * @return true on success, false otherwise
565 */
566 2 bool DataStream<char*, DataStreamMode::READ, std::string>::data_stream(char* & ds, std::string & data){
567 2 size_t nbElement(0lu);
568
1/1
✓ Branch 1 taken 2 times.
2 bool b = DataStream<char*, DataStreamMode::READ, size_t>::data_stream(ds, nbElement);
569
2/4
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
2 if(nbElement == 0lu || !b){return b;}
570
1/1
✓ Branch 1 taken 2 times.
2 data.resize(nbElement);
571 2 memcpy((char*)data.data(), ds, nbElement);
572 2 ds += nbElement;
573 2 return b;
574 }
575
576
577 ///Save a std::string into a message
578 /** @param[out] ds : message iterator to be written
579 * @param data : std::string to be saved
580 * @return true on success, false otherwise
581 */
582 2 bool DataStream<char*, DataStreamMode::WRITE, std::string>::data_stream(char* & ds, std::string & data){
583 2 size_t nbElement(data.size());
584
1/1
✓ Branch 1 taken 2 times.
2 bool b = DataStream<char*, DataStreamMode::WRITE, size_t>::data_stream(ds, nbElement);
585
2/4
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
2 if(nbElement == 0lu || !b){return b;}
586 2 memcpy(ds, (const char*)data.data(), nbElement);
587 2 ds += nbElement;
588 2 return b;
589 }
590
591
592