ucx/ucx.h

changeset 69
fb59270b1de3
parent 65
7b2f2cab6348
child 76
655020a30e77
equal deleted inserted replaced
68:88dbea299440 69:fb59270b1de3
11 #include <stdlib.h> 11 #include <stdlib.h>
12 12
13 #ifdef __cplusplus 13 #ifdef __cplusplus
14 #ifndef _Bool 14 #ifndef _Bool
15 #define _Bool bool 15 #define _Bool bool
16 #define restrict
16 #endif 17 #endif
17 extern "C" { 18 extern "C" {
18 #endif 19 #endif
19 20
20 #define UCX_FOREACH(type,list,elem) \ 21 #define UCX_FOREACH(type,list,elem) \
21 for (type elem = list ; elem != NULL ; elem = elem->next) 22 for (type elem = list ; elem != NULL ; elem = elem->next)
23
24 #ifdef __cplusplus
25 #define ucx_dynarray_new(type,identifier,length)\
26 type* identifier; identifier = new type[length]
27 #define ucx_dynarray_free(identifier) delete [] identifier
28 #else
29 #define ucx_dynarray_new(type,identifier,length)\
30 type identifier[length]
31 #define ucx_dynarray_free(identifier)
32 #endif
22 33
23 /* element1,element2,custom data -> {-1,0,1} */ 34 /* element1,element2,custom data -> {-1,0,1} */
24 typedef int(*cmp_func)(void*,void*,void*); 35 typedef int(*cmp_func)(void*,void*,void*);
25 36
26 /* element,custom data -> copy of element */ 37 /* element,custom data -> copy of element */

mercurial