ucx/cx/compare.h

changeset 818
bc782cca0759
parent 816
839fefbdedc7
equal deleted inserted replaced
817:22257f6d06a3 818:bc782cca0759
28 /** 28 /**
29 * \file compare.h 29 * \file compare.h
30 * \brief A collection of simple compare functions. 30 * \brief A collection of simple compare functions.
31 * \author Mike Becker 31 * \author Mike Becker
32 * \author Olaf Wintermann 32 * \author Olaf Wintermann
33 * \version 3.0
34 * \copyright 2-Clause BSD License 33 * \copyright 2-Clause BSD License
35 */ 34 */
36 35
37 #ifndef UCX_COMPARE_H 36 #ifndef UCX_COMPARE_H
38 #define UCX_COMPARE_H 37 #define UCX_COMPARE_H
40 #include "common.h" 39 #include "common.h"
41 40
42 #ifdef __cplusplus 41 #ifdef __cplusplus
43 extern "C" { 42 extern "C" {
44 #endif 43 #endif
44
45 #ifndef CX_COMPARE_FUNC_DEFINED
46 #define CX_COMPARE_FUNC_DEFINED
47 /**
48 * A comparator function comparing two collection elements.
49 */
50 typedef int(*cx_compare_func)(
51 void const *left,
52 void const *right
53 );
54 #endif // CX_COMPARE_FUNC_DEFINED
45 55
46 /** 56 /**
47 * Compares two integers of type int. 57 * Compares two integers of type int.
48 * 58 *
49 * @param i1 pointer to integer one 59 * @param i1 pointer to integer one
211 int cx_cmp_uintptr( 221 int cx_cmp_uintptr(
212 void const *ptr1, 222 void const *ptr1,
213 void const *ptr2 223 void const *ptr2
214 ); 224 );
215 225
226 /**
227 * Compares the pointers specified in the arguments without de-referencing.
228 *
229 * @param ptr1 pointer one
230 * @param ptr2 pointer two
231 * @return -1 if ptr1 is less than ptr2, 0 if both are equal,
232 * 1 if ptr1 is greater than ptr2
233 */
234 int cx_cmp_ptr(
235 void const *ptr1,
236 void const *ptr2
237 );
238
216 #ifdef __cplusplus 239 #ifdef __cplusplus
217 } // extern "C" 240 } // extern "C"
218 #endif 241 #endif
219 242
220 #endif //UCX_COMPARE_H 243 #endif //UCX_COMPARE_H

mercurial