aboutsummaryrefslogtreecommitdiffstats
path: root/libsimple/array.h
blob: b31088c2ce71d332436acea2d8b434f394b40b6c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/* See LICENSE file for copyright and license details. */

/* TODO test, doc, man */


#define libsimple_arrayelem(haystack, needle, n) libsimple_memelem(haystack, needle, sizeof *(haystack), n)
#ifndef arrayelem
# define arrayelem(...) libsimple_arrayelem(__VA_ARGS__)
#endif


#define libsimple_rawarrayelem(haystack, needle, n) libsimple_rawmemelem(haystack, needle, sizeof *(haystack), n)
#ifndef rawarrayelem
# define rawarrayelem(...) libsimple_rawarrayelem(__VA_ARGS__)
#endif


#define libsimple_arrayscan(haystack, needle, n) libsimple_memelemscan(haystack, needle, sizeof *(haystack), n)
#ifndef arrayscan
# define arrayscan(...) libsimple_arrayscan(__VA_ARGS__)
#endif


#define libsimple_arrayrelem(haystack, needle, n) libsimple_memrelem(haystack, needle, sizeof *(haystack), n)
#ifndef arrayrelem
# define arrayrelem(...) libsimple_arrayrelem(__VA_ARGS__)
#endif


#define libsimple_rawarrayrelem(haystack, needle, n) libsimple_rawmemrelem(haystack, needle, sizeof *(haystack), n)
#ifndef rawarrayrelem
# define rawarrayrelem(...) libsimple_rawarrayrelem(__VA_ARGS__)
#endif


#define libsimple_arrayelem_inv(haystack, needle, n) libsimple_memelem_inv(haystack, needle, sizeof *(haystack), n)
#ifndef arrayelem_inv
# define arrayelem_inv(...) libsimple_arrayelem_inv(__VA_ARGS__)
#endif


#define libsimple_rawarrayelem_inv(haystack, needle, n) libsimple_rawmemelem_inv(haystack, needle, sizeof *(haystack), n)
#ifndef rawarrayelem_inv
# define rawarrayelem_inv(...) libsimple_rawarrayelem_inv(__VA_ARGS__)
#endif


#define libsimple_arrayscan_inv(haystack, needle, n) libsimple_memelemscan_inv(haystack, needle, sizeof *(haystack), n)
#ifndef arrayscan_inv
# define arrayscan_inv(...) libsimple_arrayscan_inv(__VA_ARGS__)
#endif


#define libsimple_arrayrelem_inv(haystack, needle, n) libsimple_memrelem_inv(haystack, needle, sizeof *(haystack), n)
#ifndef arrayrelem_inv
# define arrayrelem_inv(...) libsimple_arrayrelem_inv(__VA_ARGS__)
#endif


#define libsimple_rawarrayrelem_inv(haystack, needle, n) libsimple_rawmemrelem_inv(haystack, needle, sizeof *(haystack), n)
#ifndef rawarrayrelem_inv
# define rawarrayrelem_inv(...) libsimple_rawarrayrelem_inv(__VA_ARGS__)
#endif


#define libsimple_arrayset(buf, item, n) libsimple_memsetelem(buf, item, (n) * sizeof *(buf))
#ifndef arrayset
# define arrayset(...) libsimple_arrayset(__VA_ARGS__)
#endif


#define libsimple_arraypset(buf, item, n) libsimple_mempsetelem(buf, item, (n) * sizeof *(buf))
#ifndef arraypset
# define arraypset(...) libsimple_arraypset(__VA_ARGS__)
#endif


#define libsimple_arraycpy(d, s, n) libsimple_memcpy(d, s, (n) * sizeof *(s))
#ifndef arraycpy
# define arraycpy(...) libsimple_arraycpy(__VA_ARGS__)
#endif


#define libsimple_arraymove(d, s, n) libsimple_memmove(d, s, (n) * sizeof *(s))
#ifndef arraymove
# define arraymove(...) libsimple_arraymove(__VA_ARGS__)
#endif


#define libsimple_arrayelemcpy(d, s, elem, n) libsimple_memelemcpy(d, s, elem, sizeof *(s), n)
#ifndef arrayelemcpy
# define arrayelemcpy(...) libsimple_arrayelemcpy(__VA_ARGS__)
#endif


#define libsimple_arrayelemmove(d, s, elem, n) libsimple_memelemmove(d, s, elem, sizeof *(s), n)
#ifndef arrayelemmove
# define arrayelemmove(...) libsimple_arrayelemmove(__VA_ARGS__)
#endif


#define libsimple_rawarrayelemcpy(d, s, elem) libsimple_rawmemelemcpy(d, s, elem, sizeof *(s))
#ifndef rawarrayelemcpy
# define rawarrayelemcpy(...) libsimple_rawarrayelemcpy(__VA_ARGS__)
#endif


#define libsimple_rawarrayelemmove(d, s, elem) libsimple_rawmemelemmove(d, s, elem, sizeof *(s))
#ifndef rawarrayelemmove
# define rawarrayelemmove(...) libsimple_rawarrayelemmove(__VA_ARGS__)
#endif


#define libsimple_arrayreplace(s, old, new, n) libsimple_memreplaceelem(s, old, new, sizeof *(s), n)
#ifndef arrayreplace
# define arrayreplace(...) libsimple_arrayreplace(__VA_ARGS__)
#endif