32 #ifndef ZYCORE_COMPARISON_H
33 #define ZYCORE_COMPARISON_H
84 #define ZYAN_DECLARE_EQUALITY_COMPARISON(name, type) \
85 ZyanBool name(const type* left, const type* right) \
90 return (*left == *right) ? ZYAN_TRUE : ZYAN_FALSE; \
101 #define ZYAN_DECLARE_EQUALITY_COMPARISON_FOR_FIELD(name, type, field_name) \
102 ZyanBool name(const type* left, const type* right) \
105 ZYAN_ASSERT(right); \
107 return (left->field_name == right->field_name) ? ZYAN_TRUE : ZYAN_FALSE; \
120 #define ZYAN_DECLARE_COMPARISON(name, type) \
121 ZyanI32 name(const type* left, const type* right) \
124 ZYAN_ASSERT(right); \
126 if (*left < *right) \
130 if (*left > *right) \
145 #define ZYAN_DECLARE_COMPARISON_FOR_FIELD(name, type, field_name) \
146 ZyanI32 name(const type* left, const type* right) \
149 ZYAN_ASSERT(right); \
151 if (left->field_name < right->field_name) \
155 if (left->field_name > right->field_name) \
ZyanI32(* ZyanComparison)(const void *left, const void *right)
Definition: Comparison.h:68
#define ZYAN_DECLARE_COMPARISON(name, type)
Definition: Comparison.h:120
ZyanBool(* ZyanEqualityComparison)(const void *left, const void *right)
Definition: Comparison.h:55
#define ZYAN_DECLARE_EQUALITY_COMPARISON(name, type)
Definition: Comparison.h:84
ZyanU8 ZyanBool
Definition: Types.h:192