xarray.h
Go to the documentation of this file.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
00027 #ifndef __XARRAY_H__
00028 #define __XARRAY_H__
00029
00030 #define XARRAY_DEFAULT_SIZE 69
00031
00032
00033 enum xarray_errors
00034 {
00035 XARRAY_SUCCESS, XARRAY_ENULLPOINTER, XARRAY_ENEGATIVEINDEX,
00036 XARRAY_EINDEXTOOLARGE, XARRAY_ENOMEM, XARRAY_EEMPTYARRAY,
00037 XARRAY_ECOUNTOUTOFBOUNDS
00038 };
00039
00040
00041 typedef struct
00042 {
00043 void **array;
00044 int last_valid_element;
00045 unsigned int size;
00046 unsigned int last_error;
00047 }
00048 XArray;
00049
00050
00051 int xarray_AddObject (XArray *xarray, void *object);
00052 int xarray_InsertObject (XArray *xarray, void *object,
00053 unsigned int at_index);
00054 int xarray_RemoveLastObject (XArray *xarray);
00055 int xarray_RemoveObject (XArray *xarray, unsigned int at_index);
00056 int xarray_RemoveObjects (XArray *xarray, unsigned int at_index,
00057 int count);
00058 int xarray_RemoveObjectsAfter (XArray *xarray, unsigned int index);
00059 int xarray_ReplaceObject (XArray *xarray, unsigned int index,
00060 void *new_object);
00061
00062
00063 XArray * xarray_New ();
00064 int xarray_ObjectAtIndex (XArray *xarray, unsigned int index,
00065 void **out_object);
00066 int xarray_Count (XArray *xarray, unsigned int *out_count);
00067
00068 #endif
00069