Mercurial > dovecot > core-2.2
annotate src/lib/array-decl.h @ 23007:36e01285b5b8
lib: buffer - Improve header comment for buffer_insert() and buffer_delete().
author | Stephan Bosch <stephan.bosch@dovecot.fi> |
---|---|
date | Mon, 18 Mar 2019 00:52:37 +0100 |
parents | c9e3fa79bbad |
children |
rev | line source |
---|---|
6410
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
6316
diff
changeset
|
1 #ifndef ARRAY_DECL_H |
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
6316
diff
changeset
|
2 #define ARRAY_DECL_H |
3470
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
14920
a097ef0a9d6d
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Timo Sirainen <tss@iki.fi>
parents:
9178
diff
changeset
|
4 #define ARRAY(array_type) union { struct array arr; array_type const *const *v; array_type **v_modifiable; } |
17317
ef701c458b25
lib: quell sparse "warning: Using plain integer as NULL pointer"
Phil Carmody <phil@dovecot.fi>
parents:
14920
diff
changeset
|
5 #define ARRAY_INIT { { NULL, 0 } } |
3470
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 |
4451
1a35d53c18fc
Array API redesigned to work using unions. It now provides type safety
Timo Sirainen <tss@iki.fi>
parents:
3470
diff
changeset
|
7 #define ARRAY_DEFINE_TYPE(name, array_type) \ |
4601
664011f3b1fb
Some more array changes. v and v_modifiable are now pointer-to-pointers so
Timo Sirainen <tss@iki.fi>
parents:
4451
diff
changeset
|
8 union array ## __ ## name { struct array arr; array_type const *const *v; array_type **v_modifiable; } |
4451
1a35d53c18fc
Array API redesigned to work using unions. It now provides type safety
Timo Sirainen <tss@iki.fi>
parents:
3470
diff
changeset
|
9 #define ARRAY_TYPE(name) \ |
1a35d53c18fc
Array API redesigned to work using unions. It now provides type safety
Timo Sirainen <tss@iki.fi>
parents:
3470
diff
changeset
|
10 union array ## __ ## name |
3470
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
11 |
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
12 struct array { |
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 buffer_t *buffer; |
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 size_t element_size; |
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
15 }; |
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
16 |
6316
fcd14b4cf941
Added string (char *) array type.
Timo Sirainen <tss@iki.fi>
parents:
5733
diff
changeset
|
17 ARRAY_DEFINE_TYPE(string, char *); |
4944
51e2a2adc141
Defined a universal const_string array type.
Timo Sirainen <tss@iki.fi>
parents:
4601
diff
changeset
|
18 ARRAY_DEFINE_TYPE(const_string, const char *); |
21065
c9e3fa79bbad
lib: Define ARRAY_TYPE for uint8_t, uint16_t and uint64_t.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
17317
diff
changeset
|
19 ARRAY_DEFINE_TYPE(uint8_t, uint8_t); |
c9e3fa79bbad
lib: Define ARRAY_TYPE for uint8_t, uint16_t and uint64_t.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
17317
diff
changeset
|
20 ARRAY_DEFINE_TYPE(uint16_t, uint16_t); |
5733
4b5ce642957d
Declare a global uint32_t array type.
Timo Sirainen <tss@iki.fi>
parents:
4944
diff
changeset
|
21 ARRAY_DEFINE_TYPE(uint32_t, uint32_t); |
21065
c9e3fa79bbad
lib: Define ARRAY_TYPE for uint8_t, uint16_t and uint64_t.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
17317
diff
changeset
|
22 ARRAY_DEFINE_TYPE(uint64_t, uint64_t); |
9178 | 23 ARRAY_DEFINE_TYPE(uint, unsigned int); |
9002
9d0037a997f4
Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
24 ARRAY_DEFINE_TYPE(void_array, void *); |
4944
51e2a2adc141
Defined a universal const_string array type.
Timo Sirainen <tss@iki.fi>
parents:
4601
diff
changeset
|
25 |
3470
346a494c2feb
Moved array declaration to array-decl.h and include it in lib.h. So array.h
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
26 #endif |