#ifndef HGL_COMP_OPERATOR_INCLUDE #define HGL_COMP_OPERATOR_INCLUDE namespace hgl { #define CompOperator(name,compfunc) const bool operator > (name i)const {return compfunc(i)>0;} \ const bool operator < (name i)const {return compfunc(i)<0;} \ const bool operator >=(name i)const {return compfunc(i)>=0;}\ const bool operator <=(name i)const {return compfunc(i)<=0;}\ const bool operator ==(name i)const {return compfunc(i)==0;}\ const bool operator !=(name i)const {return compfunc(i)!=0;} #define CompOperatorMemcmp(name) int _Comp(name data)const{return memcmp(this,&data,sizeof(name));} \ CompOperator(name,_Comp) }//namespace hgl #endif//HGL_COMP_OPERATOR_INCLUDE