Referencia de la plantilla de la Clase DynDlist
[Secuencias.]

Lista dinámica de elemento de tipo T. Más...

Diagrama de herencias de DynDlist

Inheritance graph
[leyenda]
Diagrama de colaboración para DynDlist:

Collaboration graph
[leyenda]

Lista de todos los miembros.

Tipos públicos

typedef GenDlist< Dlist_Node,
T >::Iterator 
Iterator
 Tipo de Iterador que maneja la lista.
typedef GenDlist< Dlist_Node,
T >::Node 
Node
 Tipo de nodo que maneja la lista.

Métodos públicos

void append (const T &_data) throw (std::exception, std::bad_alloc)
 Inserta un elemento al final de la lista.
size_t append_list (DynDlist &list)
 Inserta list depués de this; el resultado es this-list.
 DynDlist (const DynDlist &list)
 Constructor copia; todos los elementos de this son copiados.
 DynDlist ()
 Constructor por omisión.
void empty ()
 Vacía todos los elementos de la lista.
T & get_first () throw (std::exception, std::underflow_error)
 Retorna una referencia al primer elemento de la lista.
T & get_last () throw (std::exception, std::underflow_error)
 Retorna una referencia al último elemento de la lista.
void insert (const T &_data) throw (std::exception, std::bad_alloc)
 Inserta un elemento al principio de la lista.
size_t insert_list (DynDlist &list)
 Inserta list antes de this; el resultado es list-this.
DynDlist< T > & operator= (const DynDlist &list)
 Asignación de lista dinámica.
remove_first () throw (std::exception, std::underflow_error)
 Elimina el primer elemento de la lista: retorna una copia del elemento eliminado.
remove_last () throw (std::exception, std::underflow_error)
 Elimina el último elemento de la lista: retorna una copia del elemento eliminado.
const size_t & size () const
 Retorna la cantidad de elemento que tiene la lista.
void split_list (DynDlist &l, DynDlist &r) throw (std::exception, std::domain_error)
 Particiona this por el centro la lista dinámica this.
void swap (DynDlist &l)
 Intercambia en tiempo constante todos los elementos de this con los de la lista l.
 ~DynDlist ()
 Destructor.

Clases

class  Iterator
 Iterador sobre lista dinámica. Más...


Descripción detallada

template<typename T>
class Aleph::DynDlist< T >

DynDlist<T> define una lista dinámica es una secuencia de elementos de algún tipo T.

Parámetros:
T el tipo de elementos de la lista.
Ver también:
DynDlist::Iterator

Definición en la línea 65 del archivo tpl_dynDlist.H.


Documentación de las funciones miembro

void append ( const T &  _data  )  throw (std::exception, std::bad_alloc) [inline]

Inserta en la lista this como último elemento una copia de _data.

Después de la operación el último elemento de la lista es _data.

Parámetros:
[in] _data el dato a insertarse.
Excepciones:
bad_alloc si no hay memoria para el nuevo elemento.

Definición en la línea 103 del archivo tpl_dynDlist.H.

Referenciado por Aleph::compute_cut_nodes(), DynDlist< Aleph::Path::Path_Desc >::DynDlist(), Aleph::inconnected_components(), Aleph::map_cut_graph(), DynDlist< Aleph::Path::Path_Desc >::operator=(), y Aleph::q_topological_sort().

size_t append_list ( DynDlist< T > &  list  )  [inline]

El método toma todos los elementos de la lista list y los inserta secuencialmente después de la lista this. La lista list deviene vacía.

El método toma tiempo constante.

Si se requiere que list no sea vaciada, entonces el proceso debe ser copiar list y luego efectuar esta operación sobre la copia.

Parámetros:
[in,out] list lista a ser copiada al final de this. Este parámetro deviene vacío luego de la inserción.
Devuelve:
la nueva cantidad de elementos de this

Definición en la línea 154 del archivo tpl_dynDlist.H.

void insert ( const T &  _data  )  throw (std::exception, std::bad_alloc) [inline]

Inserta en la lista this como primer elemento una copia de _data.

Después de la operación el primer elemento de la lista es _data.

Parámetros:
[in] _data el dato a insertarse.
Excepciones:
bad_alloc si no hay memoria para el nuevo elemento.

Definición en la línea 84 del archivo tpl_dynDlist.H.

size_t insert_list ( DynDlist< T > &  list  )  [inline]

El método toma todos los elementos de la lista list y los inserta secuencialmente antes de la lista this. La lista list deviene vacía.

El método toma tiempo constante.

Si se requiere que list no sea vaciada, entonces el proceso debe ser copiar list y luego efectuar esta operación sobre la copia.

Parámetros:
[in,out] list lista a ser copiada al principio de this. Este parámetro deviene vacío luego de la inserción.
Devuelve:
la nueva cantidad de elementos de this

Definición en la línea 127 del archivo tpl_dynDlist.H.

DynDlist<T>& operator= ( const DynDlist< T > &  list  )  [inline]

La asignación elimina todos los elementos de this y luego copia en this los elementos contenidos en la lista list.

Parámetros:
[in] list lista a ser asignada
Excepciones:
bad_alloc si no hay memoria.

Definición en la línea 623 del archivo tpl_dynDlist.H.

T remove_first (  )  throw (std::exception, std::underflow_error) [inline]

Devuelve:
una copia del elemento eliminado.
Excepciones:
underflow_error si la lista está vacía.

Reimplementado de GenDlist.

Definición en la línea 188 del archivo tpl_dynDlist.H.

Referenciado por DynDlist< Aleph::Path::Path_Desc >::operator=().

T remove_last (  )  throw (std::exception, std::underflow_error) [inline]

Devuelve:
una copia del elemento eliminado.
Excepciones:
underflow_error si la lista está vacía.

Reimplementado de GenDlist.

Definición en la línea 208 del archivo tpl_dynDlist.H.

void split_list ( DynDlist< T > &  l,
DynDlist< T > &  r 
) throw (std::exception, std::domain_error) [inline]

El método particiona la lista this por el centro en tiempo lineal. Los primeros n/2 elementos son copiados a l los siguientes n/2 a r.

Si n es impar, entonces l contendrá n/2 + 1 elementos.

Parámetros:
[out] l primera partición.
[out] r segunda partición.
Excepciones:
domain_error si alguna de las listas l o r no están vacías.

Definición en la línea 261 del archivo tpl_dynDlist.H.

void swap ( DynDlist< T > &  l  )  [inline]

La operación toma tiempo contante (muy rápido) independientemente de la cantidad de elementos que contengas las dos listas.

Parámetros:
l lista a intercambiar con this

Definición en la línea 244 del archivo tpl_dynDlist.H.


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

Leandro R. León