28 /** |
28 /** |
29 * \file collection.h |
29 * \file collection.h |
30 * \brief Common definitions for various collection implementations. |
30 * \brief Common definitions for various collection implementations. |
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_COLLECTION_H |
36 #ifndef UCX_COLLECTION_H |
38 #define UCX_COLLECTION_H |
37 #define UCX_COLLECTION_H |
47 /** |
46 /** |
48 * Special constant used for creating collections that are storing pointers. |
47 * Special constant used for creating collections that are storing pointers. |
49 */ |
48 */ |
50 #define CX_STORE_POINTERS 0 |
49 #define CX_STORE_POINTERS 0 |
51 |
50 |
|
51 #ifndef CX_COMPARE_FUNC_DEFINED |
|
52 #define CX_COMPARE_FUNC_DEFINED |
52 /** |
53 /** |
53 * A comparator function comparing two collection elements. |
54 * A comparator function comparing two collection elements. |
54 */ |
55 */ |
55 typedef int(*cx_compare_func)( |
56 typedef int(*cx_compare_func)( |
56 void const *left, |
57 void const *left, |
57 void const *right |
58 void const *right |
58 ); |
59 ); |
|
60 #endif // CX_COMPARE_FUNC_DEFINED |
59 |
61 |
60 /** |
62 /** |
61 * Use this macro to declare common members for a collection structure. |
63 * Use this macro to declare common members for a collection structure. |
62 */ |
64 */ |
63 #define CX_COLLECTION_MEMBERS \ |
65 #define CX_COLLECTION_MEMBERS \ |