00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _GDSL_2DARRAY_H_
00027 #define _GDSL_2DARRAY_H_
00028
00029
00030 #include <stdio.h>
00031
00032
00033 #include "gdsl_types.h"
00034
00035
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040
00041
00053 typedef struct gdsl_2darray* gdsl_2darray_t;
00054
00055
00056
00057
00058
00083 extern gdsl_2darray_t
00084 gdsl_2darray_alloc (const char* NAME,
00085 const ulong R,
00086 const ulong C,
00087 const gdsl_alloc_func_t ALLOC_F,
00088 const gdsl_free_func_t FREE_F
00089 );
00090
00106 extern void
00107 gdsl_2darray_free (gdsl_2darray_t A
00108 );
00109
00110
00111
00112
00113
00123 extern const char*
00124 gdsl_2darray_get_name (const gdsl_2darray_t A
00125 );
00126
00136 extern ulong
00137 gdsl_2darray_get_rows_number (const gdsl_2darray_t A
00138 );
00139
00149 extern ulong
00150 gdsl_2darray_get_columns_number (const gdsl_2darray_t A
00151 );
00152
00162 extern ulong
00163 gdsl_2darray_get_size (const gdsl_2darray_t A
00164 );
00165
00178 extern gdsl_element_t
00179 gdsl_2darray_get_content (const gdsl_2darray_t A,
00180 const ulong R,
00181 const ulong C
00182 );
00183
00184
00185
00186
00187
00201 extern gdsl_2darray_t
00202 gdsl_2darray_set_name (gdsl_2darray_t A,
00203 const char* NEW_NAME
00204 );
00205
00227 extern gdsl_element_t
00228 gdsl_2darray_set_content (gdsl_2darray_t A,
00229 const ulong R,
00230 const ulong C,
00231 void* VALUE
00232 );
00233
00234
00235
00236
00237
00254 extern void
00255 gdsl_2darray_write (const gdsl_2darray_t A,
00256 const gdsl_write_func_t WRITE_F,
00257 FILE* OUTPUT_FILE,
00258 void* USER_DATA
00259 );
00260
00278 extern void
00279 gdsl_2darray_write_xml (const gdsl_2darray_t A,
00280 const gdsl_write_func_t WRITE_F,
00281 FILE* OUTPUT_FILE,
00282 void* USER_DATA
00283 );
00284
00302 extern void
00303 gdsl_2darray_dump (const gdsl_2darray_t A,
00304 const gdsl_write_func_t WRITE_F,
00305 FILE* OUTPUT_FILE,
00306 void* USER_DATA
00307 );
00308
00309
00310
00311
00312
00313
00314 #ifdef __cplusplus
00315 }
00316 #endif
00317
00318
00319 #endif
00320
00321