-/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
+/* vim: set et sts=4 sw=4 fdm=marker fmr={,} fdn=1 fo+=t tw=80:
*
* Taller de Programación (75.42).
*
#include <cstdlib>
+#ifdef DEBUG
+# include <iostream>
+#endif
+
/// Nodo de la lista doblemente enlazada.
struct DLListNode {
/// Constructor.
DLListNode(DLListNode* prev = NULL, void* data = NULL,
- DLListNode* next = NULL): prev(prev), data(data), next(next) {}
+ DLListNode* next = NULL): prev(prev), data(data), next(next) {
+#ifdef DEBUG
+ std::cerr << "En constructor de DLListNode." << std::endl;
+#endif
+ }
+
+ /// Destructor.
+ virtual ~DLListNode(void) {
+#ifdef DEBUG
+ std::cerr << "En destructor de DLListNode." << std::endl;
+#endif
+ }
};
protected:
/// Puntero al primer nodo.
- DLListNode* _first;
+ DLListNode* first;
/// Puntero al nodo actual.
- DLListNode* _current;
+ DLListNode* curr;
/// Puntero al último nodo.
- DLListNode* _last;
+ DLListNode* last;
public:
* \endcode
*
* \return Último elemento o NULL si está vacía.
- * \see DLList_have_more(), DLList_prev(), DLList_begin(), DLList_next()
- * \pre La DLList debe estar \ref DLList_new "creada" correctamente.
+ * \see have_more(), prev(), begin(), next()
*/
void* end(void);