X-Git-Url: https://git.llucax.com/z.facultad/75.42/calculadora.git/blobdiff_plain/14e3bef578b8abe6d15cc7beb727df23122be421..8f5992a5811ef292022a3ca3ac293c231e2b065b:/dllist.h?ds=sidebyside diff --git a/dllist.h b/dllist.h index 80aff11..674fbc3 100644 --- a/dllist.h +++ b/dllist.h @@ -17,12 +17,7 @@ #ifndef DLLIST_H #define DLLIST_H - -/** Tipo de dato booleano. */ -typedef enum { - FALSE, /**< Falso. */ - TRUE /**< Verdadero. */ -} bool; +#include "bool.h" /** Nodo de la lista doblemente enlazada. */ typedef struct DLNodeStruct DLNode; @@ -215,7 +210,7 @@ bool DLList_push(DLList* list, void* data); * \return Primer elemento de la DLList. * \see DLList_empty(), DLList_pop() * \pre La DLList debe estar \ref DLList_new "creada" correctamente y no - * debe estar \ref DLList_empty "vacía. + * debe estar \ref DLList_empty "vacía". * \post El puntero interno de la DLList apunta primer elemento. */ void* DLList_shift(DLList* list); @@ -239,9 +234,24 @@ void* DLList_shift(DLList* list); * \return Último elemento de la DLList. * \see DLList_empty(), DLList_shift() * \pre La DLList debe estar \ref DLList_new "creada" correctamente y no - * debe estar \ref DLList_empty "vacía. + * debe estar \ref DLList_empty "vacía". * \post El puntero interno de la DLList apunta último elemento. */ void* DLList_pop(DLList* list); +/** + * Elimina el elemento actual de la DLList. + * Elimina el elemento actual de la DLList devolviendo su contenido. + * + * \param list DLList de la cual sacar el elemento. + * + * \return Elemento actual de la DLList o NULL si no hay más elementos. + * \see DLList_empty(), DLList_current(), DLList_have_more() + * \pre La DLList debe estar \ref DLList_new "creada" correctamente y + * debe \ref DLList_have_more "tener un elemento actual" (por lo que + * también debe estar no \ref DLList_empty "vacía"). + * \post El puntero interno de la DLList apunta al próximo elemento. + */ +void* DLList_remove_current(DLList* list); + #endif /* DLLIST_H */