25 #ifndef __SYNFIG_GUID_H
26 #define __SYNFIG_GUID_H
63 GUID(
const int i __attribute__ ((unused))){assert(!i); data.u_64.a=0;data.u_64.b=0;}
72 operator bool()
const {
return data.u_32.a||data.u_32.b||data.u_32.c||data.u_32.d; }
74 uint64_t
get_hi()
const {
return data.u_64.a; }
75 uint64_t
get_lo()
const {
return data.u_64.b; }
86 {
return data.u_64.a==rhs.data.
u_64.a && data.u_64.b==rhs.data.
u_64.b; }
88 {
return data.u_64.a!=rhs.data.
u_64.a || data.u_64.b!=rhs.data.
u_64.b; }
90 {
return (data.u_64.a==rhs.data.
u_64.a)?(data.u_64.b<rhs.data.
u_64.b):(data.u_64.a<rhs.data.
u_64.a); }
92 {
return (data.u_64.a==rhs.data.
u_64.a)?(data.u_64.b>rhs.data.
u_64.b):(data.u_64.a>rhs.data.
u_64.a); }
103 data.u_32.a^=rhs.data.
u_32.a;
104 data.u_32.b^=rhs.data.
u_32.b;
105 data.u_32.c^=rhs.data.
u_32.c;
106 data.u_32.d^=rhs.data.
u_32.d;
115 data.u_32.a^=rhs.data.
u_32.b;
116 data.u_32.b^=rhs.data.
u_32.c;
117 data.u_32.c^=rhs.data.
u_32.d;
118 data.u_32.d^=rhs.data.
u_32.a;