00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef __XPLC_UUIDOPS_H__
00035 #define __XPLC_UUIDOPS_H__
00036
00037 #if defined(__GNUC__) && __GNUC__ > 3
00038 # pragma GCC system_header
00039 #endif
00040
00041 #include <xplc/uuid.h>
00042
00043 #if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_
00044 #define _SYS_GUID_OPERATOR_EQ_
00045
00049 inline int operator==(const UUID& uuid1, const UUID& uuid2) {
00050 return
00051 (&uuid1 == &uuid2) ||
00052 ((static_cast<const u_int32_t*>(&uuid1.Data1)[0] == static_cast<const u_int32_t*>(&uuid2.Data1)[0]) &&
00053 (static_cast<const u_int32_t*>(&uuid1.Data1)[1] == static_cast<const u_int32_t*>(&uuid2.Data1)[1]) &&
00054 (static_cast<const u_int32_t*>(&uuid1.Data1)[2] == static_cast<const u_int32_t*>(&uuid2.Data1)[2]) &&
00055 (static_cast<const u_int32_t*>(&uuid1.Data1)[3] == static_cast<const u_int32_t*>(&uuid2.Data1)[3]));
00056 }
00057
00061 inline int operator!=(const UUID& uuid1, const UUID& uuid2) {
00062 return
00063 (&uuid1 != &uuid2) &&
00064 ((static_cast<const u_int32_t*>(&uuid1.Data1)[0] != static_cast<const u_int32_t*>(&uuid2.Data1)[0]) ||
00065 (static_cast<const u_int32_t*>(&uuid1.Data1)[1] != static_cast<const u_int32_t*>(&uuid2.Data1)[1]) ||
00066 (static_cast<const u_int32_t*>(&uuid1.Data1)[2] != static_cast<const u_int32_t*>(&uuid2.Data1)[2]) ||
00067 (static_cast<const u_int32_t*>(&uuid1.Data1)[3] != static_cast<const u_int32_t*>(&uuid2.Data1)[3]));
00068 }
00069
00070 #endif
00071
00080 const UUID UuidFromString(const char* str);
00081
00090 char* UuidToString(const UUID& uuid, char* str);
00091
00092 #endif