]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blobdiff - dllist.h
Versión preliminar del programa del TP. Falta evaluar ecuaciones.
[z.facultad/75.42/calculadora.git] / dllist.h
index 80aff11ded80a55ac2f64c6891354c138f118e18..674fbc3b34f19195cfa9d2a5b66e278ee4381062 100644 (file)
--- a/dllist.h
+++ b/dllist.h
 #ifndef DLLIST_H
 #define DLLIST_H
 
 #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;
 
 /** 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
  * \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);
  * \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
  * \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);
 
  * \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 */
 #endif /* DLLIST_H */