ucx/ucx.h

Tue, 02 Oct 2012 11:18:47 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 02 Oct 2012 11:18:47 +0200
changeset 38
35f67a8ef875
parent 26
59f147baea31
child 42
ff3dd1ee7dee
permissions
-rw-r--r--

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

mercurial