8 #ifndef _SYSIO_VECTOR_H_ 9 #define _SYSIO_VECTOR_H_ 11 #include <sysio/defs.h> 31 typedef void * (*vVectorElmtNew) (void);
47 typedef const void * (*pvVectorElmtKey) (
const void * element);
void * pvVectorFindFirst(const xVector *vector, const void *key)
Chercher le premier élément correspondant à une clé
int(* iVectorElmtMatch)(const void *key1, const void *key2)
Fonction de comparaison de 2 clés.
int iVectorInitSearch(xVector *vector, pvVectorElmtKey fkey, iVectorElmtMatch fmatch)
Initialise les fonctions de recherche.
void(* vVectorElmtDestroy)(void *data)
Fonction qui libère la mémoire allouée à une donnée de le vecteur.
int iVectorAppend(xVector *vector, void *data)
Ajout en fin de tableau.
int iVectorRemove(xVector *vector, int index)
Retire un élément.
const void *(* pvVectorElmtKey)(const void *element)
Retourne la clé d'un élément.
void *(* vVectorElmtNew)(void)
Fonction qui retourne un élément alloué avec une valeur par défaut.
int iVectorReplace(xVector *vector, int index, void *data)
Modifie l'élément pointé par une case.
int iVectorSize(const xVector *vector)
Taille du tableau en nombre d'éléments.
int iVectorFindFirstIndex(const xVector *vector, const void *key)
Chercher l'index du premier élément correspondant à une clé
int iVectorResize(xVector *vector, int new_size)
Modifie la taille.
void vVectorDestroy(xVector *vector)
Destruction d'un tableau dynamique.
void * pvVectorGet(const xVector *vector, int index)
Pointeur sur l'élément.
int iVectorClear(xVector *vector)
Vide un tableau dynamique.
int iVectorInit(xVector *vector, int growth, vVectorElmtNew fnew, vVectorElmtDestroy fdestroy)
Initialise un tableau dynamique.