annotate src/lib/array-decl.h @ 9002:9d0037a997f4 HEAD

Initial commit for config rewrite.
author Timo Sirainen <tss@iki.fi>
date Tue, 27 Jan 2009 18:21:53 -0500
parents e4eb71ae8e96
children 13bbdd7b15b8
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
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
4 #define ARRAY_DEFINE(name, array_type) union { struct array arr; array_type const *const *v; array_type **v_modifiable; } name
4451
1a35d53c18fc Array API redesigned to work using unions. It now provides type safety
Timo Sirainen <tss@iki.fi>
parents: 3470
diff changeset
5 #define ARRAY_INIT { { 0, 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 *);
5733
4b5ce642957d Declare a global uint32_t array type.
Timo Sirainen <tss@iki.fi>
parents: 4944
diff changeset
19 ARRAY_DEFINE_TYPE(uint32_t, uint32_t);
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 6410
diff changeset
20 ARRAY_DEFINE_TYPE(void_array, void *);
4944
51e2a2adc141 Defined a universal const_string array type.
Timo Sirainen <tss@iki.fi>
parents: 4601
diff changeset
21
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
22 #endif