#include <string.h>
#include <stdlib.h>
#include "log.h"
#include "array.h"
Go to the source code of this file.
Functions | |
| void | arrayByteUniq (Array a) |
| Remove byte-wise identical entries. | |
| void | arrayClear (Array a) |
| Clear contents of Array a. | |
| Array | arrayCopy (Array a) |
| Copies an Array a. | |
| int | arrayDoublecmp (double *dp1, double *dp2) |
| Comparison function for doubles (double). | |
| int | arrayFind (Array a, void *s, int *ip, int(*order)(void *, void *)) |
| Finds Entry s from Array a sorted in ascending order of order(). | |
| int | arrayFindInsert (Array a, void *s, int *ip, int(*order)(void *, void *)) |
| Try to find element s in Array a; insert it if not there. | |
| int | arrayIntcmp (int *ip1, int *ip2) |
| Comparison function for integers (int). | |
| int | arrayIsEntry (Array a, int i, void *s) |
| Check if s is an entry in a. | |
| void | arrayMove (Array from, int start, int end, Array to) |
| Move elements from an Array to another Array. | |
| int | arrayNumber (void) |
| Returns number of Arrays currently allocated. | |
| int | arrayRemove (Array a, void *s, int(*order)(void *, void *)) |
| Removes Entry s from Array a sorted in ascending order of order(). | |
| int | arrayRemoveD (Array a, int i) |
| Removes Entry with index i from Array a. | |
| void | arraySort (Array a, int(*order)(void *, void *)) |
| Sort an Array a according to order of order(). | |
| int | arrayStrcmp (char **s1, char **s2) |
| Comparison function for strings (char*). | |
| void | arrayUniq (Array a, Array b, int(*order)(void *, void *)) |
Definition in file array.c.
| void arrayByteUniq | ( | Array | a | ) |
Remove byte-wise identical entries.
| [in] | a | Array sorted such that byte-wise identical entries are adjacent |
| [out] | a | Byte-wise identical duplicates removed |
Use arrayUniq() for duplicate removal based on equality defined by order() function
| int arrayFind | ( | Array | a, | |
| void * | s, | |||
| int * | ip, | |||
| int(*)(void *, void *) | order | |||
| ) |
| int arrayFindInsert | ( | Array | a, | |
| void * | s, | |||
| int * | ip, | |||
| int(*)(void *, void *) | order | |||
| ) |
| int arrayIsEntry | ( | Array | a, | |
| int | i, | |||
| void * | s | |||
| ) |
Move elements from an Array to another Array.
Move elements from[start..end] to to[m..m+end-start+1].
| [in] | from | Array to cut elements out of |
| [in] | start | Start index in 'from' |
| [in] | end | End index in 'from' |
| [in] | to | Array to append cut elements to. NULL if this is not needed (only a good idea if elements don't own memory via pointers). |
| [out] | from | Elements removed; formerly used space. after end of data filled with binary zeros. |
| [out] | to | If not NULL: moved elements from 'from' appended. |
| int arrayRemove | ( | Array | a, | |
| void * | s, | |||
| int(*)(void *, void *) | order | |||
| ) |
| [in] | a | Array sorted by the same order function that is specified as the second argument |
| [in] | b | Array of same type as a, NULL ok (if one is not interested in getting the duplicates) |
| [out] | a | All duplicates which are identical according to the specified order function are moved to b |
| [out] | b | If not NULL: duplicates appended |
1.5.7.1