annotate src/lib/array-decl.h @ 5733:4b5ce642957d HEAD

Declare a global uint32_t array type.
author Timo Sirainen <tss@iki.fi>
date Thu, 14 Jun 2007 03:05:51 +0300
parents 51e2a2adc141
children fcd14b4cf941
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
4944
51e2a2adc141 Defined a universal const_string array type.
Timo Sirainen <tss@iki.fi>
parents: 4601
diff changeset
17 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
18 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
19
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
20 #endif