![]() |
SysIo
1.9.0
Embedded Library and tools
|
Ce module fournit les fonctions permettant de gérer des listes doublement chaînées.
Classes | |
| struct | xDList |
| Liste doublement chaînée. More... | |
| struct | xDListElmt |
| Elément d'une liste doublement chaînée. More... | |
Functions | |
| bool | bDListElmtIsHead (const xDListElmt *element) |
| Indique si l'élément est en tête de liste. More... | |
| bool | bDListElmtIsTail (const xDListElmt *element) |
| Indique si l'élément est en queue de liste. More... | |
| int | iDListAppend (xDList *list, const void *data) |
| Insertion en fin de liste. More... | |
| int | iDListDestroy (xDList *list) |
| Destruction d'une liste doublement chaînée. More... | |
| int | iDListInit (xDList *list, vDListElmtDestroy fdestroy) |
| Initialise une liste doublement chaînée. More... | |
| int | iDListInitSearch (xDList *list, pvDListElmtKey fkey, iDListElmtMatch fmatch) |
| Initialise les fonctions de recherche. More... | |
| int | iDListInsertAfter (xDList *list, xDListElmt *element, const void *data) |
| Insertion avant l'élément. More... | |
| int | iDListInsertBefore (xDList *list, xDListElmt *element, const void *data) |
| Insertion après l'élément. More... | |
| int | iDListPrepend (xDList *list, const void *data) |
| Insertion en début de liste. More... | |
| int | iDListRemove (xDList *list, xDListElmt *element, void **data) |
| Retire un élément. More... | |
| int | iDListSize (const xDList *list) |
| Nombre d'élément. More... | |
| void * | pvDListElmtData (const xDListElmt *element) |
| Pointeur sur la donnée de l'élément. More... | |
| xDListElmt * | pxDListElmtNext (const xDListElmt *element) |
| Pointeur sur l'élément suivant dans la liste. More... | |
| xDListElmt * | pxDListElmtPrev (const xDListElmt *element) |
| Pointeur sur l'élément précédent dans la liste. More... | |
| xDListElmt * | pxDListFindFirst (xDList *list, const void *key) |
| Chercher le premier élément correspondant à une clé More... | |
| xDListElmt * | pxDListHead (const xDList *list) |
| Retourne l'élément en tête de liste. More... | |
| xDListElmt * | pxDListTail (const xDList *list) |
| Retourne l'élément en queue de liste. More... | |
Macros | |
| #define | pxDListElmtDataPtr(element, t) ((t *)pvDListElmtData(element)) |
| Retourne le pointeur sur la donnée convertit en pointeur sur type t. | |
Typedefs | |
| typedef int(* | iDListElmtMatch) (const void *key1, const void *key2) |
| Fonction de comparaison de 2 clés. More... | |
| typedef const void *(* | pvDListElmtKey) (const xDListElmt *element) |
| Retourne la clé d'un élément. | |
| typedef void(* | vDListElmtDestroy) (void *data) |
| Fonction qui libère la mémoire allouée à une donnée de la liste. | |
| typedef struct xDList | xDList |
| Liste doublement chaînée. | |
| typedef struct xDListElmt | xDListElmt |
| Elément d'une liste doublement chaînée. | |
| typedef int(* iDListElmtMatch) (const void *key1, const void *key2) |
| bool bDListElmtIsHead | ( | const xDListElmt * | element | ) |
#include <dlist.h>
Indique si l'élément est en tête de liste.
| element | pointeur sur l'élément concerné |
| bool bDListElmtIsTail | ( | const xDListElmt * | element | ) |
#include <dlist.h>
Indique si l'élément est en queue de liste.
| element | pointeur sur l'élément concerné |
| int iDListAppend | ( | xDList * | list, |
| const void * | data | ||
| ) |
#include <dlist.h>
Insertion en fin de liste.
| list | pointeur sur la liste |
| data | à affecter au nouvel élément |
| int iDListDestroy | ( | xDList * | list | ) |
#include <dlist.h>
Destruction d'une liste doublement chaînée.
La mémoire allouée aux données de chaque élément est libérée si une fonction destroy() a été fournie à l'initialisation.
| list | pointeur sur la liste |
| int iDListInit | ( | xDList * | list, |
| vDListElmtDestroy | fdestroy | ||
| ) |
#include <dlist.h>
Initialise une liste doublement chaînée.
| list | pointeur sur la liste |
| fdestroy | fonction chargée de libébrer la mémoire allouée aux données, NULL si les données sont statiques |
| int iDListInitSearch | ( | xDList * | list, |
| pvDListElmtKey | fkey, | ||
| iDListElmtMatch | fmatch | ||
| ) |
#include <dlist.h>
Initialise les fonctions de recherche.
| list | pointeur sur la liste |
| fkey | fonction de clé |
| fmatch | fonction de comparaison |
| int iDListInsertAfter | ( | xDList * | list, |
| xDListElmt * | element, | ||
| const void * | data | ||
| ) |
#include <dlist.h>
Insertion avant l'élément.
| list | pointeur sur la liste |
| element | précédent le nouveau |
| data | à affecter au nouvel élément |
| int iDListInsertBefore | ( | xDList * | list, |
| xDListElmt * | element, | ||
| const void * | data | ||
| ) |
#include <dlist.h>
Insertion après l'élément.
| list | pointeur sur la liste |
| element | suivant le nouveau |
| data | à affecter au nouvel élément |
| int iDListPrepend | ( | xDList * | list, |
| const void * | data | ||
| ) |
#include <dlist.h>
Insertion en début de liste.
| list | pointeur sur la liste |
| data | à affecter au nouvel élément |
| int iDListRemove | ( | xDList * | list, |
| xDListElmt * | element, | ||
| void ** | data | ||
| ) |
#include <dlist.h>
Retire un élément.
| list | pointeur sur la liste |
| element | à retier |
| data | pointeur sur la donnée de l'élément retiré (mémoire non libérée) |
| int iDListSize | ( | const xDList * | list | ) |
#include <dlist.h>
Nombre d'élément.
| list | pointeur sur la liste |
| void* pvDListElmtData | ( | const xDListElmt * | element | ) |
#include <dlist.h>
Pointeur sur la donnée de l'élément.
| element | pointeur sur l'élément concerné |
| xDListElmt* pxDListElmtNext | ( | const xDListElmt * | element | ) |
#include <dlist.h>
Pointeur sur l'élément suivant dans la liste.
| element | pointeur sur l'élément concerné |
| xDListElmt* pxDListElmtPrev | ( | const xDListElmt * | element | ) |
#include <dlist.h>
Pointeur sur l'élément précédent dans la liste.
| element | pointeur sur l'élément concerné |
| xDListElmt* pxDListFindFirst | ( | xDList * | list, |
| const void * | key | ||
| ) |
#include <dlist.h>
Chercher le premier élément correspondant à une clé
| list | pointeur sur la liste |
| key | clé de l'élément à trouver |
| xDListElmt* pxDListHead | ( | const xDList * | list | ) |
#include <dlist.h>
Retourne l'élément en tête de liste.
| list | pointeur sur la liste |
| xDListElmt* pxDListTail | ( | const xDList * | list | ) |
#include <dlist.h>
Retourne l'élément en queue de liste.
| list | pointeur sur la liste |