Provided by: libzycore-doc_1.5.1-1_all 

NAME
include/Zycore/Comparison.h
SYNOPSIS
#include <Zycore/Defines.h> #include <Zycore/Types.h> Macros #define ZYAN_DECLARE_EQUALITY_COMPARISON(name, type) #define ZYAN_DECLARE_EQUALITY_COMPARISON_FOR_FIELD(name, type, field_name) #define ZYAN_DECLARE_COMPARISON(name, type) #define ZYAN_DECLARE_COMPARISON_FOR_FIELD(name, type, field_name) Typedefs typedef ZyanBool(* ZyanEqualityComparison) (const void *left, const void *right) typedef ZyanI32(* ZyanComparison) (const void *left, const void *right) Functions ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON (ZyanEqualsPointer, void *const) ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsBool ZYAN_INLINE ZyanBool ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON (ZyanEqualsNumeric8, ZyanU8) ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric16 ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON (ZyanEqualsNumeric32, ZyanU32) ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric64 ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZyanU64 ZYAN_INLINE ZYAN_DECLARE_COMPARISON (ZyanComparePointer, void *const) ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareBool ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZyanU64 ZYAN_INLINE ZyanBool ZYAN_INLINE ZYAN_DECLARE_COMPARISON (ZyanCompareNumeric8, ZyanU8) ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric16 ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZyanU64 ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZYAN_DECLARE_COMPARISON (ZyanCompareNumeric32, ZyanU32) ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric64
Detailed Description
Defines prototypes of general-purpose comparison functions.
Macro Definition Documentation
#define ZYAN_DECLARE_COMPARISON(name, type) Value:.PP ZyanI32 name(const type* left, const type* right) \ { \ ZYAN_ASSERT(left); \ ZYAN_ASSERT(right); \ \ if (*left < *right) \ { \ return -1; \ } \ if (*left > *right) \ { \ return 1; \ } \ return 0; \ } Declares a generic comparison function for an integral data-type. Parameters name The name of the function. type The name of the integral data-type. #define ZYAN_DECLARE_COMPARISON_FOR_FIELD(name, type, field_name) Value:.PP ZyanI32 name(const type* left, const type* right) \ { \ ZYAN_ASSERT(left); \ ZYAN_ASSERT(right); \ \ if (left->field_name < right->field_name) \ { \ return -1; \ } \ if (left->field_name > right->field_name) \ { \ return 1; \ } \ return 0; \ } Declares a generic comparison function that compares a single integral data-type field of a struct. Parameters name The name of the function. type The name of the integral data-type. field_name The name of the struct field. #define ZYAN_DECLARE_EQUALITY_COMPARISON(name, type) Value:.PP ZyanBool name(const type* left, const type* right) \ { \ ZYAN_ASSERT(left); \ ZYAN_ASSERT(right); \ \ return (*left == *right) ? ZYAN_TRUE : ZYAN_FALSE; \ } Declares a generic equality comparison function for an integral data-type. Parameters name The name of the function. type The name of the integral data-type. #define ZYAN_DECLARE_EQUALITY_COMPARISON_FOR_FIELD(name, type, field_name) Value:.PP ZyanBool name(const type* left, const type* right) \ { \ ZYAN_ASSERT(left); \ ZYAN_ASSERT(right); \ \ return (left->field_name == right->field_name) ? ZYAN_TRUE : ZYAN_FALSE; \ } Declares a generic equality comparison function that compares a single integral data-type field of a struct. Parameters name The name of the function. type The name of the integral data-type. field_name The name of the struct field.
Typedef Documentation
typedef ZyanI32(* ZyanComparison) (const void *left, const void *right) Defines the ZyanComparison function prototype. Parameters left A pointer to the first element. right A pointer to the second element. Returns This function should return values in the following range: left == right -> result == 0 left < right -> result < 0 left > right -> result > 0 typedef ZyanBool(* ZyanEqualityComparison) (const void *left, const void *right) Defines the ZyanEqualityComparison function prototype. Parameters left A pointer to the first element. right A pointer to the second element. Returns This function should return ZYAN_TRUE if the left element equals the right one or ZYAN_FALSE, if not.
Function Documentation
ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZyanU64 ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZYAN_DECLARE_COMPARISON (ZyanCompareNumeric32, ZyanU32) Defines a default comparison function for 32-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns 0 if the left value equals the right one, -1 if the left value is less than the right one, or 1 if the left value is greater than the right one. Defines a default comparison function for 64-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns 0 if the left value equals the right one, -1 if the left value is less than the right one, or 1 if the left value is greater than the right one. ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZyanU64 ZYAN_INLINE ZyanBool ZYAN_INLINE ZYAN_DECLARE_COMPARISON (ZyanCompareNumeric8, ZyanU8) Defines a default comparison function for 8-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns 0 if the left value equals the right one, -1 if the left value is less than the right one, or 1 if the left value is greater than the right one. Defines a default comparison function for 16-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns 0 if the left value equals the right one, -1 if the left value is less than the right one, or 1 if the left value is greater than the right one. ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZyanU64 ZYAN_INLINE ZYAN_DECLARE_COMPARISON (ZyanComparePointer, void * const) Defines a default comparison function for pointer values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns 0 if the left value equals the right one, -1 if the left value is less than the right one, or 1 if the left value is greater than the right one. Defines a default comparison function for ZyanBool values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns 0 if the left value equals the right one, -1 if the left value is less than the right one, or 1 if the left value is greater than the right one. ZYAN_INLINE ZyanBool ZYAN_INLINE ZyanU16 ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON (ZyanEqualsNumeric32, ZyanU32) Defines a default equality comparison function for 32-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns ZYAN_TRUE if the left value equals the right one or ZYAN_FALSE, if not. Defines a default equality comparison function for 64-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns ZYAN_TRUE if the left value equals the right one or ZYAN_FALSE, if not. ZYAN_INLINE ZyanBool ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON (ZyanEqualsNumeric8, ZyanU8) Defines a default equality comparison function for 8-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns ZYAN_TRUE if the left value equals the right one or ZYAN_FALSE, if not. Defines a default equality comparison function for 16-bit numeric values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns ZYAN_TRUE if the left value equals the right one or ZYAN_FALSE, if not. ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON (ZyanEqualsPointer, void * const) Defines a default equality comparison function for pointer values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns ZYAN_TRUE if the left value equals the right one or ZYAN_FALSE, if not. Defines a default equality comparison function for ZyanBool values. Parameters left A pointer to the first value. right A pointer to the second value. Returns Returns ZYAN_TRUE if the left value equals the right one or ZYAN_FALSE, if not.
Author
Generated automatically by Doxygen for Zycore from the source code. Zycore Version 1.5.1.0 include/Zycore/Comparison.h(3)