My library
Library for common tasks
arrayList.h
Go to the documentation of this file.
1
7#ifndef SEEN_ARRAYLIST
8#define SEEN_ARRAYLIST
9
10#include "types.h"
11
12// TYPE INDEPENDENT FUNCTIONS
19
27
34void appendToAL(ArrayList list, ...);
35
43void insertToAL(ArrayList list, unsigned int index, ...);
44
52void setALItem(ArrayList list, unsigned int index, ...);
53
59void mergeAL(ArrayList list1, const ArrayList list2);
60
67void sliceAL(ArrayList list, unsigned int begin, unsigned int end);
68
74void printAL(const spec_t spec, const ArrayList list);
75
81void removeFromAL(ArrayList list, unsigned int index);
82
89void getFromAL(const ArrayList list, unsigned int index, void *dest);
90
96void deleteAL(ArrayList list, ...);
97
108byte areALEqual(const ArrayList list1, const ArrayList list2, ...);
109
115
122void bubbleSortAL(ArrayList list, ...);
123
130void quickSortAL(ArrayList list, ...);
131
140byte isInAL(ArrayList list, ...);
141
151
160ArrayList chooseNewALFromArray(const spec_t spec, const void *list, unsigned int size);
161
162// TYPE DEPENDENT FUNCTIONS
167ArrayList newALFromCharArray(const char list[], unsigned int size);
168
173ArrayList newALFromByteArray(const char list[], unsigned int size);
174
179ArrayList newALFromIntArray(const int list[], unsigned int size);
180
185ArrayList newALFromFloatArray(const float list[], unsigned int size);
186
191ArrayList newALFromDoubleArray(const double list[], unsigned int size);
192
197ArrayList newALFromPtrArray(const void *list, unsigned int size);
198
204unsigned int getALLength(const ArrayList list);
205
213
214#endif
ArrayList newALFromFloatArray(const float list[], unsigned int size)
Create ArrayList from a list of floats.
ArrayList newALFromCharArray(const char list[], unsigned int size)
Create ArrayList from a list of chars.
void reverseAL(ArrayList list)
Reverse an ArrayList.
void quickSortAL(ArrayList list,...)
Quicksort for ArrayList.
void bubbleSortAL(ArrayList list,...)
Bubble sort for ArrayList.
void getFromAL(const ArrayList list, unsigned int index, void *dest)
Get an item from an ArrayList.
ArrayList newALFromAL(const ArrayList list)
Get a copy of an ArrayList.
void mergeAL(ArrayList list1, const ArrayList list2)
Merge two ArrayList.
void sliceAL(ArrayList list, unsigned int begin, unsigned int end)
Slice an ArrayList.
byte isInAL(ArrayList list,...)
Detect if an item is inside an ArrayList.
void appendToAL(ArrayList list,...)
Insert an item at the end of an ArrayList.
byte isALEmpty(ArrayList list)
Check if ArrayList is empty.
ArrayList newAL(const spec_t spec)
Allocate a new ArrayList of specified type.
ArrayList newALFromIntArray(const int list[], unsigned int size)
Create ArrayList from a list of ints.
ArrayList newALFromByteArray(const char list[], unsigned int size)
Create ArrayList from a list of bytes.
void deleteAL(ArrayList list,...)
Delete an ArrayList.
ArrayList chooseNewALFromArray(const spec_t spec, const void *list, unsigned int size)
Create an ArrayList from a static array.
byte areALEqual(const ArrayList list1, const ArrayList list2,...)
Compare two ArrayList.
unsigned int getALLength(const ArrayList list)
Get the size of an ArrayList.
void insertToAL(ArrayList list, unsigned int index,...)
Insert an item at a specified position of an ArrayList.
int linearSearchAL(ArrayList list,...)
Linear search for ArrayList.
void setALItem(ArrayList list, unsigned int index,...)
Set value of an item of an ArrayList.
ArrayList newALFromDoubleArray(const double list[], unsigned int size)
Create ArrayList from an list of doubles.
ArrayList newALFromPtrArray(const void *list, unsigned int size)
Create ArrayList from an list of pointers.
void removeFromAL(ArrayList list, unsigned int index)
Remove an item from an ArrayList.
void printAL(const spec_t spec, const ArrayList list)
Print contents from an ArrayList.
ArrayList type
Definition: types.h:31
Collection of useful types.
char * spec_t
Used to specify type of argument passed in functions that require a type specifier.
Definition: types.h:20