GCC Code Coverage Report


Directory: ./
File: src/Function/DataFunctionClassCall_impl.h
Date: 2025-03-14 12:18:05
Exec Total Coverage
Lines: 12 15 80.0%
Branches: 12 31 38.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 __DATA_FUNCTION_CLASS_CALL_H_IMPL__
8 #define __DATA_FUNCTION_CLASS_CALL_H_IMPL__
9
10 #include "DataFunctionClassCall.h"
11
12 ///Default constructor of DataFunctionClassCall
13 /** @param function : function to be called on a given data
14 * @param name : name of the function
15 */
16 template<typename _Class, typename _Data>
17 1 DataFunctionClassCall<_Class, _Data>::DataFunctionClassCall(bool (*function)(_Class&, const _Data &), _Class& persistentData, const PString & name)
18 //:DataFunctionCall<_Data>(nullptr, name),
19 :AbstractDataFunction(name),
20 1 p_persistentData(persistentData),
21 1 p_function(function)
22 {
23 1 initialisationDataFunctionClassCall();
24 1 }
25
26 ///Destructor of DataFunctionClassCall
27 template<typename _Class, typename _Data>
28 DataFunctionClassCall<_Class, _Data>::~DataFunctionClassCall(){
29
30 }
31
32 ///Call the function with parameter
33 /** @param[out] log : logger
34 * @param data : data given to the function
35 * @return true on success, false otherwise
36 */
37 template<typename _Class, typename _Data>
38 1 bool DataFunctionClassCall<_Class, _Data>::call(PLog & log, const Data & data){
39
1/1
✓ Branch 1 taken 1 times.
1 _Data value(phoenix_getValueFromData<_Data>(data));
40
2/3
✓ Branch 1 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 if(p_function(p_persistentData, value)){
41
9/9
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
1 log.getLogDebug() << "DataFunctionClassCall<_Data>::call : function 'bool '"<<getName()<<"(const "<<getPrototype()<<" &) success" << std::endl;
42 1 return true;
43 }else{
44 log.getLogError() << "DataFunctionClassCall<_Data>::call : function 'bool '"<<getName()<<"(const "<<getPrototype()<<" &) failed" << std::endl;
45 return false;
46 }
47 }
48
49 ///Initialisation function of the class DataFunctionClassCall
50 template<typename _Class, typename _Data>
51 1 void DataFunctionClassCall<_Class, _Data>::initialisationDataFunctionClassCall(){
52
53 1 }
54
55
56 #endif
57
58