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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
13bbdd7b15b8 Defined ARRAY_TYPE(uint).
Timo Sirainen <tss@iki.fi>
parents: 9002
diff changeset
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