00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AUDACIOUS_INDEX_H
00023 #define AUDACIOUS_INDEX_H
00024
00025 struct index;
00026
00027 struct index * index_new (void);
00028 void index_free (struct index * index);
00029 gint index_count (struct index * index);
00030 void index_allocate (struct index * index, gint size);
00031 void index_set (struct index * index, gint at, void * value);
00032 void * index_get (struct index * index, gint at);
00033 void index_insert (struct index * index, gint at, void * value);
00034 void index_append (struct index * index, void * value);
00035 void index_copy_set (struct index * source, gint from, struct index * target,
00036 gint to, gint count);
00037 void index_copy_insert (struct index * source, gint from, struct index * target,
00038 gint to, gint count);
00039 void index_copy_append (struct index * source, gint from, struct index * target,
00040 gint count);
00041 void index_merge_insert (struct index * first, gint at, struct index * second);
00042 void index_merge_append (struct index * first, struct index * second);
00043 void index_move (struct index * index, gint from, gint to, gint count);
00044 void index_delete (struct index * index, gint at, gint count);
00045 void index_sort (struct index * index, gint (* compare) (const void * a,
00046 const void * b));
00047 void index_sort_with_data (struct index * index, gint (* compare)
00048 (const void * a, const void * b, void * data), void * data);
00049
00050 #endif