annotate src/lib/array-decl.h @ 6316:fcd14b4cf941 HEAD

Added string (char *) array type.
author Timo Sirainen <tss@iki.fi>
date Fri, 24 Aug 2007 21:23:00 +0300
parents 4b5ce642957d
children e4eb71ae8e96
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
1 #ifndef __ARRAY_DECL_H
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
2 #define __ARRAY_DECL_H
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);
4944
51e2a2adc141 Defined a universal const_string array type.
Timo Sirainen <tss@iki.fi>
parents: 4601
diff changeset
20
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
21 #endif