1 #ifndef __UACALCITEM_H__     2 #define __UACALCITEM_H__     6 #include <opcua_basedatavariabletype.h>    10 #include "uadatetime.h"    11 #include "uadatavalue.h"    18 #define isnan(x) std::isnan(x)    22 #define isinf(x) std::isinf(x)    52                 inline double operator()(
const double& a1, 
const double& a2)
    54                         return std::fmod(a1, a2);
    76                 virtual void calculateOnChange(Session *pSession, 
const UaDataValue& dataValue, OpcUa_Boolean checkAccessLevel);
    94                 UaCalcItem(
const UaString& 
name, UaNodeId& uaId, 
const UaNode *parent,
   114                                 m_var.insert(pair<string, UaControlVariable *>(
name, obd));
   134                                 m_whenVar.insert(pair<string, UaControlVariable *>(
name, obd));
   162                 size_t start_pos = 0;
   163                 while((start_pos = str.find(from, start_pos)) != std::string::npos) {
   164                         str.replace(start_pos, from.length(), to);
   165                         start_pos += to.length(); 
   173                                 res = stod(str,&indx);
   179                         if (str.size() > indx)
   204                         OpcUa_StatusCode ret = OpcUa_Good;
   205                         for (
auto const &vit : vs)
   208                                 ret = uac->value(0).statusCode();
   210                                 if (ret != OpcUa_Good)