#include <tpl_dynDlist.H>
Tipos públicos | |
typedef DynDlist | Set_Type |
El tipo de conjunto sobre el cual se itera. | |
typedef T | Item_Type |
El tipo de elemento que retorna get_current(). | |
Tipos públicos heredados desde Aleph::Dnode< T >::Iterator | |
typedef Dnode< T > | Set_Type |
Tipo de conjunto sobre el cual se itera. | |
typedef Dnode< T > * | Item_Type |
Tipo de elemento que contiene. | |
Tipos públicos heredados desde Aleph::Dlink::Iterator | |
typedef Dlink | Set_Type |
Tipo de conjunto sobre el cual se itera. | |
typedef Dlink * | Item_Type |
Tipo de elemento que contiene el conjunto. | |
Métodos públicos | |
const int & | get_pos () const |
retorna la posición ordinal del elemento actual de iterador. | |
const int & | next () |
const int & | prev () |
const int & | reset_first () |
const int & | reset_last () |
Iterator (DynDlist< T > &_list) | |
Constructor de iterador sobre lista _list. | |
Iterator (const DynDlist< T > &_list) | |
Constructor de iterador sobre lista constante _list. | |
Iterator & | operator= (const Iterator &it) |
Asignación e iterador. | |
T & | get_current () const |
Retorna el elemento actual del iterador. | |
T & | get_curr () const |
Retorna el elemento actual del iterador. | |
void | insert (const T &item) throw (std::exception, std::overflow_error, std::bad_alloc) |
void | insert (T &&item) throw (std::exception, std::overflow_error, std::bad_alloc) |
void | append (const T &item) throw (std::exception, std::overflow_error, std::bad_alloc) |
void | append (T &&item) throw (std::exception, std::overflow_error, std::bad_alloc) |
void | insert_list (const DynDlist &list) throw (std::exception, std::overflow_error) |
void | append_list (const DynDlist &list) throw (std::exception, std::overflow_error) |
T | del () throw (std::exception, std::overflow_error) |
T | remove_prev () throw (std::exception, std::overflow_error) |
T | remove_next () throw (std::exception, std::overflow_error) |
size_t | cut_list (DynDlist &list) |
Métodos públicos heredados desde Aleph::Dnode< T >::Iterator | |
Iterator (Dlink *head_ptr) | |
Instancia iterador en lista cuyo nodo cabecera es head_ptr. | |
Iterator (Dlink &head) | |
Instancia iterador en lista cuyo nodo cabecera es head_ptr */. | |
Iterator (Dlink *head_ptr, Dnode *curr_ptr) | |
Iterator & | operator= (Dnode *head) |
Asigna al iterador la lista apuntada por head */. | |
Dnode< T > * | get_current () const |
retorna puntero al nodo actual | |
Dnode< T > * | get_curr () const |
retorna puntero al nodo actual | |
Dnode * | del () |
Métodos públicos heredados desde Aleph::Dlink::Iterator | |
Iterator (Dlink *head_ptr) | |
Instancia un iterador sobre lista. head_ptr es el puntero a nodo cabecera. Más... | |
Iterator (Dlink &_head) | |
Instancia un iterador sobre lista con nodo cabecera head . Más... | |
Iterator (Dlink *head_ptr, Dlink *curr_ptr) | |
Instancia un iterador sobre lista con nodo cabecera apuntado por head_ptr a partir del nodo apuntado por curr_ptr . Más... | |
Iterator () | |
Constructor por omisión. | |
void | reset_first () |
Reinicia iterador a primer nodo de la lista. | |
void | reset_last () |
Reinicia iterador a último nodo de la lista. | |
void | set (Dlink *new_curr) |
void | reset (Dlink *new_head, Dlink *new_curr) |
Cambia el iterador a lista con nodo cabecera new_head y le coloca nodo actual el apuntado por new_curr . Más... | |
void | reset (Dlink *new_head) |
Cambia la lista de iteración a la apuntada por new_head . Más... | |
bool | has_current () const |
Retorna true si iterador aún tiene elemento actual. | |
bool | has_curr () const |
Dlink * | get_current () const |
Retorna dirección de nodo actual. | |
Dlink * | get_curr () const |
bool | is_in_first () const |
Retorna true si iterador está sobre primer elemento. | |
bool | is_in_last () const |
Retorna true si iterador está sobre último elemento. | |
void | prev () throw (std::exception, std::underflow_error) |
Retrocede iterador en una posición. | |
void | next () throw (std::exception, std::overflow_error) |
Avanza iterador en una posición. | |
bool | operator== (const Iterator &it) const |
Retorna true si iteradores están sobre el mismo elemento. | |
bool | operator!= (const Iterator &it) const |
retorna true si iteradores tienen estados diferentes. | |
Dlink * | del () |
bool | verify (Dlink *l) const |
bool | verify (const Iterator &it) const |
Iterador sobre lista dinámica.
|
inline |
Inserta un elemento antes del elemento actual del iterador.
Este método inserta una copia de _data antes del elemento actual sobre el esté posicionado el iterador. El elemento actual del iterador permanece invariante.
[in] | _data | el valor del elemento a insertar |
overflow_error | si el iterador no tiene elemento actual |
bad_alloc | si no hay suficiente memoria. |
Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().
|
inline |
Inserta una lista dinámica antes del elemento actual.
El método inserta todos los elementos de list antes del elemento actual del iterador. La lista list deviene vacía después de la operación.
La operación toma tiempo constante.
Si lo que se requiere es insertar una copia, entonces se debe ejecutar la operación sobre una copia de list.
[in,out] | list | la lista a insertar antes del elemento actual. Deviene vacía luego de la operación. |
overflow_error | si el iterador no está posicionado sobre un elemento actual. |
Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().
|
inline |
Corta una lista dinámica a partir del elemento actual.
El método elimina todos los elementos de la lista dinámica del iterador a partir de la posición actual. Los elementos eliminados son copiados a la lista list.
La lista list debe estar vacía.
La operación toma tiempo constante.
Después de la operación el iterador queda sin elemento actual.
[out] | list | lista donde se colocan los elementos eliminados. |
overflow_error | si el iterador no tiene elemento actual. |
domain_error | si list no está vacía. |
Hace referencia a Aleph::Dlink::Iterator::has_current().
|
inline |
Elimina el elemento actual y avanza el iterador hacia delante.
Este método elimina el elemento actual sobre el cual está posicionado y lo avanza al siguiente elemento del eliminado.
overflow_error | si el iterador no está posicionado sobre un elemento actual. |
Hace referencia a Aleph::Dlink::del(), Aleph::Dnode< T >::Iterator::get_current(), Aleph::Dnode< T >::get_data(), Aleph::Dlink::Iterator::has_current() y Aleph::Dlink::Iterator::next().
|
inline |
Inserta un elemento después del elemento actual del iterador.
Este método inserta una copia de _data después del elemento actual sobre el esté posicionado el iterador. El elemento actual del iterador permanece invariante.
[in] | _data | el valor del elemento a insertar |
overflow_error | si el iterador no tiene elemento actual |
bad_alloc | si no hay suficiente memoria. |
Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().
|
inline |
Inserta una lista dinámica después del elemento actual.
El método inserta todos los elementos de list a partir del elemento actual del iterador. La lista list deviene vacía después de la operación.
La operación toma tiempo constante.
Si lo que se requiere es insertar una copia, entonces se debe ejecutar la operación sobre una copia de list.
[in,out] | list | la lista a insertar después del elemento actual. Deviene vacía luego de la operación. |
overflow_error | si el iterador no está posicionado sobre un elemento actual. |
Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().
|
inline |
Avanza hacia adelante un iterador sobre una lista dinámica.
overflow_error | si el iterador no tiene elemento actual. |
Hace referencia a Aleph::Dlink::Iterator::next().
Referenciado por Aleph::Dijkstra_Min_Paths< GT, Distance, Plus, SA >::get_min_path().
|
inline |
Avanza hacia atrás un iterador sobre una lista dinámica.
underflow_error | si el iterador no tiene elemento actual. |
Hace referencia a Aleph::Dlink::Iterator::prev().
|
inline |
Elimina el elemento sucesor del actual.
Este método elimina el elemento sucesor al elemento actual del iterador. Luego de la operación, el iterador queda en la misma posición.
overflow_error | si el iterador no está posicionado sobre un elemento actual. |
Hace referencia a Aleph::Dnode< T >::Iterator::get_current(), Aleph::Dnode< T >::get_data(), Aleph::Dlink::Iterator::has_current() y Aleph::Dnode< T >::remove_next().
|
inline |
Elimina el elemento predecesor del actual.
Este método elimina el elemento predecesor al elemento actual del iterador. Luego de la operación, el iterador queda en la misma posición.
overflow_error | si el iterador no está posicionado sobre un elemento actual. |
Hace referencia a Aleph::Dnode< T >::Iterator::get_current(), Aleph::Dnode< T >::get_data(), Aleph::Dlink::Iterator::has_current() y Aleph::Dnode< T >::remove_prev().
|
inline |
Reinicia iterador sobre lista dinámica al primer elemento de la lista.
Hace referencia a Aleph::Dlink::Iterator::reset_first().
|
inline |
Reinicia iterador sobre lista dinámica al último elemento de la lista.
Hace referencia a Aleph::Dlink::Iterator::reset_last().