Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la Clase Aleph::DynDlist< T >::Iterator

#include <tpl_dynDlist.H>

+ Diagrama de herencias de Aleph::DynDlist< T >::Iterator
+ Diagrama de colaboración para Aleph::DynDlist< T >::Iterator:

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.
 

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.
 
Iteratoroperator= (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)
 
del () throw (std::exception, std::overflow_error)
 
remove_prev () throw (std::exception, std::overflow_error)
 
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)
 
Iteratoroperator= (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
 
Dnodedel ()
 

Descripción detallada

template<typename T = int>
class Aleph::DynDlist< T >::Iterator

Iterador sobre lista dinámica.

Documentación de las funciones miembro

template<typename T = int>
void Aleph::DynDlist< T >::Iterator::append ( const T &  item)
throw (std::exception,
std::overflow_error,
std::bad_alloc
)
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.

Parámetros
[in]_datael valor del elemento a insertar
Excepciones
overflow_errorsi el iterador no tiene elemento actual
bad_allocsi no hay suficiente memoria.

Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().

+ Gráfico de llamadas para esta función:

template<typename T = int>
void Aleph::DynDlist< T >::Iterator::append_list ( const DynDlist list)
throw (std::exception,
std::overflow_error
)
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.

Parámetros
[in,out]listla lista a insertar antes del elemento actual. Deviene vacía luego de la operación.
Excepciones
overflow_errorsi el iterador no está posicionado sobre un elemento actual.

Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().

+ Gráfico de llamadas para esta función:

template<typename T = int>
size_t Aleph::DynDlist< T >::Iterator::cut_list ( DynDlist list)
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.

Parámetros
[out]listlista donde se colocan los elementos eliminados.
Devuelve
la cantidad de elementos eliminados.
Excepciones
overflow_errorsi el iterador no tiene elemento actual.
domain_errorsi list no está vacía.
Nota
Atención: puesto que después de la operación el iterador queda sin elemento actual, una llamada a next() causará overflow_error.

Hace referencia a Aleph::Dlink::Iterator::has_current().

+ Gráfico de llamadas para esta función:

template<typename T = int>
T Aleph::DynDlist< T >::Iterator::del ( )
throw (std::exception,
std::overflow_error
)
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.

Devuelve
una copia del elemento eliminado.
Excepciones
overflow_errorsi 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().

+ Gráfico de llamadas para esta función:

template<typename T = int>
void Aleph::DynDlist< T >::Iterator::insert ( const T &  item)
throw (std::exception,
std::overflow_error,
std::bad_alloc
)
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.

Parámetros
[in]_datael valor del elemento a insertar
Excepciones
overflow_errorsi el iterador no tiene elemento actual
bad_allocsi no hay suficiente memoria.

Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().

+ Gráfico de llamadas para esta función:

template<typename T = int>
void Aleph::DynDlist< T >::Iterator::insert_list ( const DynDlist list)
throw (std::exception,
std::overflow_error
)
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.

Parámetros
[in,out]listla lista a insertar después del elemento actual. Deviene vacía luego de la operación.
Excepciones
overflow_errorsi el iterador no está posicionado sobre un elemento actual.

Hace referencia a Aleph::Dnode< T >::Iterator::get_current() y Aleph::Dlink::Iterator::has_current().

+ Gráfico de llamadas para esta función:

template<typename T = int>
const int& Aleph::DynDlist< T >::Iterator::next ( )
inline

Avanza hacia adelante un iterador sobre una lista dinámica.

Devuelve
la posición actual del iterador.
Excepciones
overflow_errorsi 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().

+ Gráfico de llamadas para esta función:

+ Gráfico de llamadas a esta función:

template<typename T = int>
const int& Aleph::DynDlist< T >::Iterator::prev ( )
inline

Avanza hacia atrás un iterador sobre una lista dinámica.

Devuelve
la posición actual del iterador.
Excepciones
underflow_errorsi el iterador no tiene elemento actual.

Hace referencia a Aleph::Dlink::Iterator::prev().

+ Gráfico de llamadas para esta función:

template<typename T = int>
T Aleph::DynDlist< T >::Iterator::remove_next ( )
throw (std::exception,
std::overflow_error
)
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.

Devuelve
una copia del elemento eliminado.
Excepciones
overflow_errorsi 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().

+ Gráfico de llamadas para esta función:

template<typename T = int>
T Aleph::DynDlist< T >::Iterator::remove_prev ( )
throw (std::exception,
std::overflow_error
)
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.

Devuelve
una copia del elemento eliminado.
Excepciones
overflow_errorsi 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().

+ Gráfico de llamadas para esta función:

template<typename T = int>
const int& Aleph::DynDlist< T >::Iterator::reset_first ( )
inline

Reinicia iterador sobre lista dinámica al primer elemento de la lista.

Devuelve
0 (que es la posición ordinal del primer elemento).

Hace referencia a Aleph::Dlink::Iterator::reset_first().

+ Gráfico de llamadas para esta función:

template<typename T = int>
const int& Aleph::DynDlist< T >::Iterator::reset_last ( )
inline

Reinicia iterador sobre lista dinámica al último elemento de la lista.

Devuelve
la cantidad de elementos menos uno (que es la posición ordinal del último elemento).

Hace referencia a Aleph::Dlink::Iterator::reset_last().

+ Gráfico de llamadas para esta función:


La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro Rabindranath León