GCC Code Coverage Report


Directory: ./
File: src/Representation/phoenix_createData_impl.h
Date: 2025-03-14 12:18:05
Exec Total Coverage
Lines: 13 13 100.0%
Branches: 26 39 66.7%

Line Branch Exec Source
1 /***************************************
2 Auteur : Pierre Aubert
3 Mail : pierre.aubert@lapp.in2p3.fr
4 Licence : CeCILL-C
5 ****************************************/
6
7 #ifndef __PHOENIX_CREATEDATA_IMPL_H__
8 #define __PHOENIX_CREATEDATA_IMPL_H__
9
10 #include "phoenix_type_stream.h"
11 #include "phoenix_assert.h"
12
13 #include "phoenix_createData.h"
14
15 ///Create a Data from a value
16 /** @param value : value to set the Data
17 * @return corresponding Data
18 */
19 template<typename T>
20 13 Data phoenix_createData(const T & value){
21
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
13 Data param;
22
3/6
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
13 param.setType(phoenix_getTypeToStr<T>());
23
3/6
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
13 param.getValue().resize(data_size(value));
24
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
13 DataStreamIter iter = (DataStreamIter)param.getValue().data();
25
5/10
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 6 taken 9 times.
✗ Branch 7 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 9 times.
✗ Branch 17 not taken.
13 phoenix_assert(data_message_save(iter, value));
26 26 return param;
27 }
28
29 ///Get the value in the Data
30 /** @param data : data to be used
31 * @return corresponding value of the data
32 */
33 template<typename T>
34 10 T phoenix_getValueFromData(const Data & data){
35
6/6
✓ Branch 2 taken 6 times.
✓ Branch 6 taken 6 times.
✓ Branch 10 taken 6 times.
✓ Branch 13 taken 6 times.
✓ Branch 16 taken 6 times.
✓ Branch 20 taken 6 times.
10 phoenix_assert(data.getType() == phoenix_getTypeToStr<T>());
36
1/1
✓ Branch 1 taken 6 times.
10 DataStreamIter resIter = (DataStreamIter)data.getValue().data();
37
1/1
✓ Branch 1 taken 1 times.
2 T resValue;
38
5/5
✓ Branch 2 taken 6 times.
✓ Branch 6 taken 6 times.
✓ Branch 10 taken 6 times.
✓ Branch 13 taken 6 times.
✓ Branch 16 taken 6 times.
10 phoenix_assert(data_message_load(resIter, resValue));
39 12 return resValue;
40 }
41
42
43 #endif
44
45