Tue, 02 Oct 2012 11:18:47 +0200
added missing stddef includes
added no break comments
5
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
1 | /* |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
2 | * File: ucx.h |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
3 | * Author: olaf |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
4 | * |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
5 | * Created on 31. Dezember 2011, 17:17 |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
6 | */ |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
7 | |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
8 | #ifndef UCX_H |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
9 | #define UCX_H |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
10 | |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
11 | #include <stdlib.h> |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
12 | |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
13 | #ifdef __cplusplus |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
14 | extern "C" { |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
15 | #endif |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
16 | |
26
59f147baea31
added test framework and foreach macro
Mike Becker <universe@uap-core.de>
parents:
18
diff
changeset
|
17 | #define UCX_FOREACH(type,list,elem) \ |
59f147baea31
added test framework and foreach macro
Mike Becker <universe@uap-core.de>
parents:
18
diff
changeset
|
18 | for (type elem = list ; elem != NULL ; elem = elem->next) |
59f147baea31
added test framework and foreach macro
Mike Becker <universe@uap-core.de>
parents:
18
diff
changeset
|
19 | |
18
69636f81db31
added clone and equals to lists
Mike Becker <universe@uap-core.de>
parents:
5
diff
changeset
|
20 | /* source,data -> errno */ |
5
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
21 | typedef int(*ucx_callback)(void*,void*); |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
22 | |
18
69636f81db31
added clone and equals to lists
Mike Becker <universe@uap-core.de>
parents:
5
diff
changeset
|
23 | /* element1,element2,custom data -> {-1,0,1} */ |
69636f81db31
added clone and equals to lists
Mike Becker <universe@uap-core.de>
parents:
5
diff
changeset
|
24 | typedef int(*cmp_func)(void*,void*,void*); |
69636f81db31
added clone and equals to lists
Mike Becker <universe@uap-core.de>
parents:
5
diff
changeset
|
25 | |
69636f81db31
added clone and equals to lists
Mike Becker <universe@uap-core.de>
parents:
5
diff
changeset
|
26 | /* element,custom data -> copy of element */ |
69636f81db31
added clone and equals to lists
Mike Becker <universe@uap-core.de>
parents:
5
diff
changeset
|
27 | typedef void*(*copy_func)(void*,void*); |
69636f81db31
added clone and equals to lists
Mike Becker <universe@uap-core.de>
parents:
5
diff
changeset
|
28 | |
5
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
29 | #ifdef __cplusplus |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
30 | } |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
31 | #endif |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
32 | |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
33 | #endif /* UCX_H */ |
a1740117e2b7
added list specification
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
34 |