GCC Code Coverage Report


Directory: ./
File: src/Representation/phoenix_data_stream_ppath.cpp
Date: 2025-03-14 12:18:05
Exec Total Coverage
Lines: 0 29 0.0%
Branches: 0 32 0.0%

Line Branch Exec Source
1 /***************************************
2 Auteur : Pierre Aubert
3 Mail : pierre.aubert@lapp.in2p3.fr
4 Licence : CeCILL-C
5 ****************************************/
6
7 #include "phoenix_data_stream_ppath.h"
8
9 ///Load a PPath from a file
10 /** @param[out] ds : file iterator which contains PPath
11 * @param data : PPath to be loaded
12 * @return true on success, false otherwise
13 */
14 bool DataStream<FILE*, DataStreamMode::READ, PPath>::data_stream(FILE* & ds, PPath & data){
15 size_t nbElement(0lu);
16 bool b = DataStream<FILE*, DataStreamMode::READ, size_t>::data_stream(ds, nbElement);
17 if(nbElement == 0lu || !b){return b;}
18 data.resize(nbElement);
19 return fread((void*)data.data(), sizeof(char), nbElement, ds) == nbElement;
20 }
21
22
23 ///Save a PPath into a file
24 /** @param[out] ds : file iterator to be written
25 * @param data : PPath to be saved
26 * @return true on success, false otherwise
27 */
28 bool DataStream<FILE*, DataStreamMode::WRITE, PPath>::data_stream(FILE* & ds, PPath & data){
29 size_t nbElement(data.size());
30 bool b = DataStream<FILE*, DataStreamMode::WRITE, size_t>::data_stream(ds, nbElement);
31 if(nbElement == 0lu || !b){return b;}
32 return fwrite(data.data(), sizeof(char), nbElement, ds) == nbElement;
33 }
34
35 ///Get the size of a PPath
36 /** @param[out] ds : size of the PPath
37 * @param data : data to be used
38 * @return true on success, false otherwise
39 */
40 bool DataStream<size_t, DataStreamMode::WRITE, PPath>::data_stream(size_t & ds, PPath & data){
41 ds += data.size() + sizeof(size_t); //Number of char + sizeof(size_t) to store the number of char
42 return true;
43 }
44
45 ///Load a PPath from a message
46 /** @param[out] ds : message iterator which contains PPath
47 * @param data : PPath to be loaded
48 * @return true on success, false otherwise
49 */
50 bool DataStream<DataStreamIter, DataStreamMode::READ, PPath>::data_stream(DataStreamIter & ds, PPath & data){
51 size_t nbElement(0lu);
52 bool b = DataStream<DataStreamIter, DataStreamMode::READ, size_t>::data_stream(ds, nbElement);
53 if(nbElement == 0lu || !b){return b;}
54 data.resize(nbElement);
55 memcpy((DataStreamIter)data.data(), ds, nbElement);
56 ds += nbElement;
57 return b;
58 }
59
60
61 ///Save a PPath into a message
62 /** @param[out] ds : message iterator to be written
63 * @param data : PPath to be saved
64 * @return true on success, false otherwise
65 */
66 bool DataStream<DataStreamIter, DataStreamMode::WRITE, PPath>::data_stream(DataStreamIter & ds, PPath & data){
67 size_t nbElement(data.size());
68 bool b = DataStream<DataStreamIter, DataStreamMode::WRITE, size_t>::data_stream(ds, nbElement);
69 if(nbElement == 0lu || !b){return b;}
70 memcpy(ds, (const DataStreamIter)data.data(), nbElement);
71 ds += nbElement;
72 return b;
73 }
74
75
76