libin103 1.4
Bibliothèque de structures de données en C
Chargement...
Recherche...
Aucune correspondance
Définitions de type | Fonctions
Référence du fichier generic_queue.h

File (FIFO) générique contenant des valeurs de type void* Plus de détails...

#include <stdlib.h>
#include "generic_list.h"

Aller au code source de ce fichier.

Définitions de type

typedef generic_list_t generic_queue_t
 Type de données pour représenter une file générique contenant des valeurs de type void*
 

Fonctions

void generic_queue_init (generic_queue_t *queue, int(*compare)(const void *key1, const void *key2), void *(*build)(const void *data), void(*destroy)(void *data))
 Initialisation d'une nouvelle file générique contenant des valeurs de type void*
 
void generic_queue_destroy (generic_queue_t *queue)
 Destruction d'une file.
 
int generic_queue_enqueue (generic_queue_t *queue, const void *data)
 Ajouter un élément de type void* dans la file.
 
int generic_queue_dequeue (generic_queue_t *queue, void **data)
 Supprime un élément de type void* dans la file.
 
void * generic_queue_peek (generic_queue_t *queue)
 Récupère la valeur de type void* le plus ancien de la file.
 
int generic_queue_size (generic_queue_t *queue)
 Accesseur sur la taille d'une file.
 

Description détaillée

File (FIFO) générique contenant des valeurs de type void*

Documentation des définitions de type

◆ generic_queue_t

Type de données pour représenter une file générique contenant des valeurs de type void*

Une file est une liste chaînée gérée de manière adéquate: insertion en tête et suppression en queue.

Documentation des fonctions

◆ generic_queue_dequeue()

int generic_queue_dequeue ( generic_queue_t * queue,
void ** data )

Supprime un élément de type void* dans la file.

Etant donné un pointeur vers une file (représentée par une liste chaînée), supprime l'élément le plus ancien de la file.

Paramètres
queueest un pointeur vers la structure de données generic_queue_t

@pram data un pointeur sur type void* qui permet de récupérer la valeur de l'élément supprimer de la file

Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème mémoire)

◆ generic_queue_destroy()

void generic_queue_destroy ( generic_queue_t * queue)

Destruction d'une file.

Utilise la fonction de destruction des listes chaînées pour parcourir la liste et détruire tous les éléments de la file.

Paramètres
queueest un pointeur vers la structure de données des piles generic_queue_t

◆ generic_queue_enqueue()

int generic_queue_enqueue ( generic_queue_t * queue,
const void * data )

Ajouter un élément de type void* dans la file.

Etant donné un pointeur vers une file (représentée par une liste chaînée) et une valeur de type void*, ajoute un nouvel élément à la file avec cette valeur.

Paramètres
queueest un pointeur vers la structure de données generic_queue_t

@pram data une valeur de type void* à ajouter à la file

Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème mémoire)

◆ generic_queue_init()

void generic_queue_init ( generic_queue_t * queue,
int(*)(const void *key1, const void *key2) compare,
void *(*)(const void *data) build,
void(*)(void *data) destroy )

Initialisation d'une nouvelle file générique contenant des valeurs de type void*

Utilise la fonction d'initalisation des listes chaînée pour mettre à zéro la taille et à NULL les pointeurs vers le premier et le dernier élément de la liste, i.e., de la file. Cette fonction nécessite une fonction de comparaison des éléments de la file, une fonction de construction d'un élément de la file et une fonction de destruction des éléments de la file.

Paramètres
queueest un pointeur vers la structure de données des files generic_queue_t
comparefonction permettant la comparaison de deux éléments de la file
buildfonction permettant la construction d'une valeur de la file
destroyfonction permettant la destruction d'une valeur de la file

◆ generic_queue_peek()

void * generic_queue_peek ( generic_queue_t * queue)

Récupère la valeur de type void* le plus ancien de la file.

Etant donné un pointeur vers une file (représentée par une liste chaînée), récupère la valeur de l'élément le plus ancien de la file sans le supprimer.

Paramètres
queueest un pointeur vers la structure de données generic_queue_t
Renvoie
une valeur de void* de l'élément le plus ancien de la file

◆ generic_queue_size()

int generic_queue_size ( generic_queue_t * queue)

Accesseur sur la taille d'une file.

Etant donné un pointeur vers une file (représentée par une liste chaînée), retourne la valeur du champ size

Paramètres
queueest un pointeur vers la structure de données generic_queue_t
Renvoie
un entier indiquant la taille de la file