1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
#include "tioga/Varray.h"
/* Modify the following size macros to suit your need. */
#ifndef Arr_TgString_INITIAL_SIZE
#define Arr_TgString_INITIAL_SIZE 32
#endif
#ifndef Arr_TgElementPtr_INITIAL_SIZE
#define Arr_TgElementPtr_INITIAL_SIZE 32
#endif
#ifndef Arr_TgNodePtr_INITIAL_SIZE
#define Arr_TgNodePtr_INITIAL_SIZE 32
#endif
/***************************************************************/
/* Do not modify anything below this line. */
/***************************************************************/
/* -- Defining types and function for Arr_TgString type -- */
/* -- the following must be supplied by the user:
void copyTgString(TgString* from, TgString* to); - make a copy of TgString.
*/
#ifndef _ARR_TgString_
#define _ARR_TgString_
#ifndef ARR_TgString_INITIAL_SIZE
#define ARR_TgString_INITIAL_SIZE 32 /* change this size to suit your
* need */
#endif /* ARR_TgString_INITIAL_SIZE */
typedef struct Arr_TgString
{
size_t num;
size_t size;
size_t valSize;
TgString *val;
} Arr_TgString;
#define newArr_TgString() \
(Arr_TgString *) NewVarray(ARR_TgString_INITIAL_SIZE, sizeof(TgString))
#define enlargeArr_TgString(A, I) \
(A)->size += (I); \
(A)->val = (TgString *) realloc((A)->val, (A)->valSize * (A)->size)
#define addArr_TgString(A, V) \
AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgString)
#define deleteArr_TgString(A) FreeVarray(A)
#endif /* _ARR_TgString_ */
/* -- Defining types and function for Arr_TgElementPtr type -- */
/* -- the following must be supplied by the user:
void copyTgElementPtr(TgElementPtr* from, TgElementPtr* to); - make a copy of TgElementPtr.
*/
#ifndef _ARR_TgElementPtr_
#define _ARR_TgElementPtr_
#ifndef ARR_TgElementPtr_INITIAL_SIZE
#define ARR_TgElementPtr_INITIAL_SIZE 32 /* change this size to
* suit your need */
#endif /* ARR_TgElementPtr_INITIAL_SIZE */
typedef struct Arr_TgElementPtr
{
size_t num;
size_t size;
size_t valSize;
TgElementPtr *val;
} Arr_TgElementPtr;
#define newArr_TgElementPtr() \
(Arr_TgElementPtr *) NewVarray(ARR_TgElementPtr_INITIAL_SIZE, sizeof(TgElementPtr))
#define enlargeArr_TgElementPtr(A, I) \
(A)->size += (I); \
(A)->val = (TgElementPtr *) realloc((A)->val, (A)->valSize * (A)->size)
#define addArr_TgElementPtr(A, V) \
AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgElementPtr)
#define deleteArr_TgElementPtr(A) FreeVarray(A)
#endif /* _ARR_TgElementPtr_ */
/* -- Defining types and function for Arr_TgNodePtr type -- */
/* -- the following must be supplied by the user:
void copyTgNodePtr(TgNodePtr* from, TgNodePtr* to); - make a copy of TgNodePtr.
*/
#ifndef _ARR_TgNodePtr_
#define _ARR_TgNodePtr_
#ifndef ARR_TgNodePtr_INITIAL_SIZE
#define ARR_TgNodePtr_INITIAL_SIZE 32 /* change this size to suit your
* need */
#endif /* ARR_TgNodePtr_INITIAL_SIZE */
typedef struct Arr_TgNodePtr
{
size_t num;
size_t size;
size_t valSize;
TgNodePtr *val;
} Arr_TgNodePtr;
#define newArr_TgNodePtr() \
(Arr_TgNodePtr *) NewVarray(ARR_TgNodePtr_INITIAL_SIZE, sizeof(TgNodePtr))
#define enlargeArr_TgNodePtr(A, I) \
(A)->size += (I); \
(A)->val = (TgNodePtr *) realloc((A)->val, (A)->valSize * (A)->size)
#define addArr_TgNodePtr(A, V) \
AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgNodePtr)
#define deleteArr_TgNodePtr(A) FreeVarray(A)
#endif /* _ARR_TgNodePtr_ */
|