Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

array.h

Go to the documentation of this file.
00001 /* -*-C-*- */
00002 #ifndef ARRAY_H
00003 #define ARRAY_H
00004 
00005 
00016 #define array_at(array, index) ((array)->elements[index]) 
00017 
00018 
00027 typedef struct 
00028 {
00029     void **elements;            
00030     int length;             
00031     int max_length;         
00032 } Array;
00033 
00034 
00043 typedef void (* DestructorFnc) (void *element);
00044 
00057 typedef int (* EqualsFnc) (void *element, void *user_data);
00058 
00059 int array_increase(Array *array, int nNewEntries);
00060 Array *array_create();
00061 Array *array_create_sized(int bufferSize) ;
00062 int array_append(Array *array, void *newElement) ;
00063 void array_remove(Array *array, int index, DestructorFnc destructor) ;
00064 void array_remove_element(Array *array, void *element, DestructorFnc destructor) ;
00065 int array_find_index(Array *array, void *element) ;
00066 void *array_find_equals(Array *array, EqualsFnc equals, void *user_data) ;
00067 
00068 int array_insert_before(Array *array, int index, void *element);
00069 void *array_get(Array *array, int index) ;
00070 void array_clear(Array *array, DestructorFnc destructor);
00071 void array_destroy(Array *array, DestructorFnc destructor);
00072 
00073 
00074 
00075 #endif

Generated on Fri Jan 20 10:12:18 2006 by  doxygen 1.4.2