00001
00002
00003
00004
00025 #ifndef ADT_ARRAY_H
00026 #define ADT_ARRAY_H
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032 #ifndef ADT_ERROR
00033 #define ADT_ERROR (-1)
00034 #endif
00035
00040 typedef struct adt_Array_t {
00041 void *data;
00042 int elemsz;
00043 int len;
00044 int flags;
00045 } adt_Array;
00046
00047
00066 adt_Array *adt_createArray(int elemsz, int len, void *buffer);
00067
00068
00074 void adt_destroyArray(adt_Array *);
00075
00076
00078 int adt_getLengthArray(adt_Array *);
00079
00080
00082 int adt_getElemsizeArray(adt_Array *);
00083
00084
00092 void *adt_getDataArray(adt_Array *);
00093
00094
00105 void *adt_indexArray(adt_Array *, int index);
00106
00107
00121 int adt_updateArray(adt_Array *, int index, void *pelem);
00122
00123
00135 int adt_resizeArray(adt_Array *, int len);
00136
00137
00143 int adt_initializeArray(adt_Array *, int elemsz, int len, void *buffer);
00144
00145
00151 void adt_cleanupArray(adt_Array *);
00152
00153 #ifdef __cplusplus
00154 }
00155 #endif
00156
00157 #endif