DLNode* next;
};
-/** Lista doblemente enlazada. */
+/**
+ * Lista doblemente enlazada.
+ *
+ * \see DLList_init(), DLList_empty(), DLList_begin(), DLList_end(),
+ * DLList_have_more(), DLList_current(), DLList_next(), DLList_prev(),
+ * DLList_unshift(), DLList_push(), DLList_shift(), DLList_pop()
+ */
typedef struct {
/** Puntero al primer nodo. */
DLNode* first;
*
* \param list DLList a inicializar.
*
- * \return TRUE si se inicializó bien, FALSE si hay error.
+ * \return \ref TRUE si se inicializó bien, \ref FALSE si hay error.
*/
bool DLList_init(DLList* list);
*
* \param list DLList a verificar.
*
- * \return TRUE si está vacía, FALSE si no.
+ * \return \ref TRUE si está vacía, \ref FALSE si no.
* \pre La DLList debe estar \ref DLList_init "inicializada".
*/
bool DLList_empty(DLList* list);
*
* \param list DLList a verificar.
*
- * \return TRUE si se puede obtener otro elemento, FALSE si no.
+ * \return \ref TRUE si se puede obtener otro elemento, \ref FALSE si no.
* \see DLList_begin(), DLList_end(), DLList_prev(), DLList_next()
* \pre La DLList debe estar \ref DLList_init "inicializada".
*/
* \param list DLList a la cual agregar el elemento.
* \param data Elemento a agregar.
*
- * \return TRUE si se agregó, FALSE si no hay más memoria.
+ * \return \ref TRUE si se agregó, \ref FALSE si no hay más memoria.
* \see DLList_push(), DLList_pop(), DLList_unshift()
* \pre La DLList debe estar \ref DLList_init "inicializada".
* \post El puntero interno de la DLList apunta al nuevo elemento.
* \param list DLList a la cual agregar el elemento.
* \param data Elemento a agregar.
*
- * \return TRUE si se agregó, FALSE si no hay más memoria.
+ * \return \ref TRUE si se agregó, \ref FALSE si no hay más memoria.
* \see DLList_pop(), DLList_shift(), DLList_unshift()
* \pre La DLList debe estar \ref DLList_init "inicializada".
* \post El puntero interno de la DLList apunta al nuevo elemento.
/**
* Saca el primer elemento de la DLList.
* Elimina el primer elemento de la DLList devolviendo su contenido.
+ * Ejemplo:
+ * \code
+ * DLList* l;
+ * char* data;
+ * ...
+ * while (!DLList_empty(l)) {
+ * data = DLList_shift(l);
+ * printf("El elemento actual es '%s'.\\n", data);
+ * }
+ * \endcode
*
* \param list DLList de la cual sacar el elemento.
*
* \return Primer elemento de la DLList.
- * \see DLList_push(), DLList_shift(), DLList_unshift()
+ * \see DLList_empty(), DLList_pop()
* \pre La DLList debe estar \ref DLList_init "inicializada" y no
- * \ref DLList_empty "vacía".
+ * \ref DLList_empty "vacía.
* \post El puntero interno de la DLList apunta primer elemento.
*/
void* DLList_shift(DLList* list);
/**
* Saca el último elemento de la DLList.
* Elimina el último elemento de la DLList devolviendo su contenido.
+ * Ejemplo:
+ * \code
+ * DLList* l;
+ * char* data;
+ * ...
+ * while (!DLList_empty(l)) {
+ * data = DLList_pop(l);
+ * printf("El elemento actual es '%s'.\\n", data);
+ * }
+ * \endcode
*
* \param list DLList de la cual sacar el elemento.
*
- * \return último elemento de la DLList.
- * \see DLList_push(), DLList_shift(), DLList_unshift()
+ * \return Último elemento de la DLList.
+ * \see DLList_empty(), DLList_shift()
* \pre La DLList debe estar \ref DLList_init "inicializada" y no
- * \ref DLList_empty "vacía".
+ * \ref DLList_empty "vacía.
* \post El puntero interno de la DLList apunta último elemento.
*/
void* DLList_pop(DLList* list);