guid.h
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 #ifndef opcua_guid_h_
00012 #define opcua_guid_h_
00013 
00014 #include <stdint.h>
00015 #include <string>
00016 
00017 namespace OpcUa
00018 {
00019   struct Guid
00020   {
00021     uint32_t Data1;
00022     uint16_t Data2;
00023     uint16_t Data3;
00024     uint8_t  Data4[8];
00025 
00026     Guid()
00027       : Data1(0)
00028       , Data2(0)
00029       , Data3(0)
00030     {
00031       for (unsigned i = 0; i < 8; ++i)
00032       {
00033         Data4[i] = 0;
00034       }
00035     }
00036 
00037     inline bool operator== (const Guid& r) const
00038     {
00039       for (unsigned i = 0; i < 8; ++i)
00040       {
00041         if (Data4[i] != r.Data4[i])
00042         {
00043           return false;
00044         }
00045       }
00046 
00047       return Data1 == r.Data1 && Data2 == r.Data2 && Data3 == r.Data3;
00048     }
00049 
00050     inline bool operator< (const Guid& r) const
00051     {
00052       if (Data1 > r.Data1)
00053       {
00054         return false;
00055       }
00056 
00057       if (Data1 < r.Data1)
00058       {
00059         return true;
00060       }
00061 
00062       if (Data2 > r.Data2)
00063       {
00064         return false;
00065       }
00066 
00067       if (Data2 < r.Data2)
00068       {
00069         return true;
00070       }
00071 
00072       if (Data3 > r.Data3)
00073       {
00074         return false;
00075       }
00076 
00077       if (Data3 < r.Data3)
00078       {
00079         return true;
00080       }
00081 
00082       for (unsigned i = 0; i < 8; ++i)
00083       {
00084         if (Data4[i] > r.Data4[i])
00085         {
00086           return false;
00087         }
00088 
00089         if (Data4[i] < r.Data4[i])
00090         {
00091           return true;
00092         }
00093       }
00094 
00095       return false;
00096     }
00097 
00098   };
00099 
00100 } // namespace OpcUa
00101 
00102 #endif // opcua_guid_h_
00103 


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Sat Jun 8 2019 18:24:56