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

arraylist.h File Reference

Automatically resizing array. More...


Data Structures

struct  _ArrayList
 An ArrayList structure. More...

Typedefs

typedef _ArrayList ArrayList
 An ArrayList structure.
typedef int(* ArrayListEqualFunc )(void *data1, void *data2)
 Compare two values in an arraylist to determine if they are equal.
typedef int(* ArrayListCompareFunc )(void *data1, void *data2)
 Compare two values in an arraylist.

Functions

ArrayListarraylist_new (int length)
 Allocate a new ArrayList for use.
void arraylist_free (ArrayList *arraylist)
 Destroy an ArrayList and free back the memory it uses.
void arraylist_append (ArrayList *arraylist, void *data)
 Append data to the end of an ArrayList.
void arraylist_prepend (ArrayList *arraylist, void *data)
 Prepend data to the beginning of an ArrayList.
void arraylist_remove (ArrayList *arraylist, int index)
 Remove the entry at the specified location in an ArrayList.
void arraylist_remove_range (ArrayList *arraylist, int index, int length)
 Remove a range of entries at the specified location in an ArrayList.
int arraylist_insert (ArrayList *arraylist, int index, void *data)
 Insert new data at the specified index in an ArrayList.
int arraylist_index_of (ArrayList *arraylist, ArrayListEqualFunc callback, void *data)
 Find the index of a particular pointer in an ArrayList.
void arraylist_clear (ArrayList *arraylist)
 Remove all entries from an ArrayList.
void arraylist_sort (ArrayList *arraylist, ArrayListCompareFunc compare_func)
 Sort the values in an ArrayList.


Detailed Description

Automatically resizing array.

ArrayLists are arrays of pointers which automatically increase in size.

To create an ArrayList, use arraylist_new. To destroy an ArrayList, use arraylist_free.

To add data an ArrayList, use arraylist_prepend, arraylist_append, or arraylist_insert.

To remove data from an ArrayList, use arraylist_remove or arraylist_remove_range.


Typedef Documentation

typedef struct _ArrayList ArrayList
 

An ArrayList structure.

New ArrayLists can be created using the arraylist_new function.

See also:
arraylist_new

typedef int(* ArrayListCompareFunc)(void *data1, void *data2)
 

Compare two values in an arraylist.

Used by arraylist_sort when sorting values.

Parameters:
data1 The first value.
data2 The second value.
Returns:
A negative number if data1 should be sorted before data2, a positive number if data2 should be sorted before data1, zero if the two values are equal.

typedef int(* ArrayListEqualFunc)(void *data1, void *data2)
 

Compare two values in an arraylist to determine if they are equal.

Returns:
Non-zero if the values are not equal, zero if they are equal.


Function Documentation

void arraylist_append ArrayList arraylist,
void *  data
 

Append data to the end of an ArrayList.

Parameters:
arraylist The ArrayList.
data The data to append.

void arraylist_clear ArrayList arraylist  ) 
 

Remove all entries from an ArrayList.

Parameters:
arraylist The ArrayList.

void arraylist_free ArrayList arraylist  ) 
 

Destroy an ArrayList and free back the memory it uses.

Parameters:
arraylist The ArrayList to free.

int arraylist_index_of ArrayList arraylist,
ArrayListEqualFunc  callback,
void *  data
 

Find the index of a particular pointer in an ArrayList.

Parameters:
arraylist The ArrayList to search.
callback Callback function to be invoked to determine if values are equal to the data to search for.
data The data to search for.
Returns:
The index of the data if found, or -1 if not found.

int arraylist_insert ArrayList arraylist,
int  index,
void *  data
 

Insert new data at the specified index in an ArrayList.

The index where new data can be inserted is limited by the size of the ArrayList.

Parameters:
arraylist The ArrayList.
index The index at which to insert the data.
data The data.
Returns:
Returns zero if unsuccessful, else non-zero if successful.

ArrayList* arraylist_new int  length  ) 
 

Allocate a new ArrayList for use.

Parameters:
length Hint to the initialise function as to the amount of memory to allocate initially to the ArrayList.
See also:
arraylist_free

void arraylist_prepend ArrayList arraylist,
void *  data
 

Prepend data to the beginning of an ArrayList.

Parameters:
arraylist The ArrayList.
data The data to prepend.

void arraylist_remove ArrayList arraylist,
int  index
 

Remove the entry at the specified location in an ArrayList.

Parameters:
arraylist The ArrayList.
index The index of the entry to remove.

void arraylist_remove_range ArrayList arraylist,
int  index,
int  length
 

Remove a range of entries at the specified location in an ArrayList.

Parameters:
arraylist The ArrayList.
index The index of the start of the range to remove.
length The length of the range to remove.

void arraylist_sort ArrayList arraylist,
ArrayListCompareFunc  compare_func
 

Sort the values in an ArrayList.

Parameters:
arraylist The ArrayList.
compare_func Function used to compare values in sorting.


Generated on Mon Jan 30 18:56:23 2006 for C Algorithms by  doxygen 1.4.4