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 plantilla de la Clase Aleph::list< T >

#include <List.H>

Clases

class  iterator
 

Tipos públicos

typedef T value_type
 El tipo de dato que maneja la lista.
 
typedef list::value_typereference
 Tipo referencia a elemento dentro de la lista.
 
typedef const list::value_typeconst_reference
 Tipo referencia constante a elemento dentro de la lista.
 
typedef size_t size_type
 Tipo numérico para el tamaño de la lista.
 

Métodos públicos

 list ()
 Instancia una lista vacía.
 
 list (const list &c)
 Instancia una lista copia de c.
 
 list (const size_type &num)
 
 list (const size_type &num, const T &value)
 
template<class Itor >
 list (Itor beg, const Itor &end)
 
size_type size ()
 Retorna la cantidad de elementos que tiene la lista.
 
bool empty () const
 Retorna true si la lista está vacía.
 
bool operator== (const list &c) const
 
bool operator!= (const list &c) const
 
bool operator< (const list &c) const
 
bool operator> (const list &c) const
 
bool operator<= (const list &c) const
 
bool operator>= (const list &c) const
 
listoperator= (const list &c)
 
void assign (const size_type &num, const T &value)
 
template<typename Itor >
void assign (Itor beg, const Itor &end)
 
void swap (list &c)
 
reference front () const
 Retorna una referencia al primer elemento de la lista.
 
reference back () const
 Retorna una referencia al último elemento de la lista.
 
iterator begin () const
 
iterator end () const
 
iterator insert (const iterator &pos, const T &value)
 
void insert (iterator pos, const size_type &num, const T &value)
 
template<class Itor >
void insert (iterator pos, Itor beg, const Itor &end)
 
void push_front (const T &value)
 Inserta al principio de la lista el valor value.
 
void push_back (const T &value)
 
void remove (const T &value)
 Inserta al final de la lista el valor value.
 
iterator erase (iterator pos)
 Elimina el elemento posicionado por el iterador pos.
 
iterator erase (iterator beg, const iterator &end)
 
void pop_front ()
 Elimina de la lista el primer elemento.
 
void pop_back ()
 Elimina de la lista el último elemento.
 
void clear ()
 Elimina todos los elementos de la lista.
 
void resize (size_type num, const T &t=T())
 
template<class Op >
void unique (const Op &op)
 
void unique ()
 Elimina de la lista todos los elementos duplicados consecutivos.
 
void splice (iterator pos, list &l)
 
void splice (iterator pos, list &src_list, iterator src_pos)
 
void splice (iterator pos, list &src_list, iterator src_beg, const iterator &src_end)
 
template<class Cmp >
void sort (const Cmp &)
 Ordena la lista según criterio de comparación Cmp.
 
void sort ()
 Ordena la lista.
 
template<class Cmp >
void merge (list &l, const Cmp &)
 Mezcla dos listas ordenadas según criterio de comparación Cmp.
 
void merge (list &l)
 Mezcla dos listas ordenadas.
 
void reverse ()
 Invierte la lista.
 

Descripción detallada

template<class T>
class Aleph::list< T >

Implementación Aleph del contenedor estándar C++ List<T>.

La implantación está fundamentada sobre la clase Aleph Dlist<T>.

Ver también
Dlist<T>

Documentación del constructor y destructor

template<class T>
Aleph::list< T >::list ( const size_type num)
inline

Instancia una nueva lista de num elementos cuyo valor está determinado por lo que el constructor T::T().

template<class T>
Aleph::list< T >::list ( const size_type num,
const T &  value 
)
inline

Instancia una nueva lista de num elementos con valor inicial value.

Parámetros
[in]numla cantidad inicial de elementos.
[in]valueel valor que tendrán los elementos de la lista.
Nota
Según el compilador y el contexto, el compilador puede confundirse este constructor con el constructor list(beg,end). Use conversión explícita de tipo si se le presenta esta situación.
template<class T>
template<class Itor >
Aleph::list< T >::list ( Itor  beg,
const Itor &  end 
)
inline

Instancia una nueva lista con los elementos de un contenedor comprendidos en el rango [beg..end).

Este constructor instancia una nueva lista con elementos copiados desde un contenedor mediante el rango especificado por [ben..end).

Parámetros
[in]beginicio del rango en el contenedor de copia.
[in]endtérmino del rango en el contenedor de copia.
Nota
Según el compilador y el contexto, cuando se usa el constructor list(num, int), el compilador puede confundirse e interpretar este constructor. Use conversión explícita de tipo si se le presenta esta situación.

Documentación de las funciones miembro

template<class T>
void Aleph::list< T >::assign ( const size_type num,
const T &  value 
)
inline

Elimina todos los elementos de this e inserta num elementos con valor value.

Parámetros
[in]numcantidad de elementos a insertar.
[in]valuevalor a copiar.
Nota
Según el compilador y el contexto, el compilador puede confundir esta operación con assign(beg,end). Use conversión explícita de tipo si se le presenta esta situación.

Hace referencia a Aleph::list< T >::clear().

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

template<class T>
template<typename Itor >
void Aleph::list< T >::assign ( Itor  beg,
const Itor &  end 
)
inline

Elimina todos los elementos de this e inserta en el vector los elementos de un contenedor en el rango comprendido entre [beg..end).

Parámetros
[in]begcomienzo del rango.
[in]endtérmino del rango.
Nota
Según el compilador y el contexto, el compilador puede confundir esta operación con assign(num,value). Use conversión explícita de tipo si se le presenta esta situación.

Hace referencia a Aleph::list< T >::clear().

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

template<class T>
iterator Aleph::list< T >::begin ( ) const
inline

Retorna un iterador posicionado en el primer elemento de la lista.

template<class T>
iterator Aleph::list< T >::end ( ) const
inline

Retorna un iterador posicionado en el último elemento de la lista.

Referenciado por Aleph::list< T >::resize().

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

template<class T>
iterator Aleph::list< T >::erase ( iterator  beg,
const iterator end 
)
inline

Elimina de la lista los elementos del rango [[beg..end). Retorna un iterador posicionado en el primer elemento sucesor a los eliminados.

Hace referencia a Aleph::Dnode< T >::Iterator::del().

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

template<class T>
iterator Aleph::list< T >::insert ( const iterator pos,
const T &  value 
)
inline

Inserta el valor de value a partir del elemento actual del iterador pos. Retorna un iterador posicionado sobre el elemento recién insertado.

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

Referenciado por Aleph::Path< GT >::insert() y Aleph::list< T >::resize().

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

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

template<class T>
void Aleph::list< T >::insert ( iterator  pos,
const size_type num,
const T &  value 
)
inline

Inserta en la lista, a partir de la posición actual de pos, num copias del valor value.

Hace referencia a Aleph::Dlink::append(), Aleph::Dnode< T >::Iterator::get_current(), Aleph::Dlink::insert_list() y Aleph::Dlink::remove_all_and_delete().

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

template<class T>
template<class Itor >
void Aleph::list< T >::insert ( iterator  pos,
Itor  beg,
const Itor &  end 
)
inline

Inserta en la lista, a partir de la posición pos, los elementos de un contenedor comprendidos en el rango [beg..end).

Hace referencia a Aleph::Dlink::append(), Aleph::Dnode< T >::Iterator::get_current(), Aleph::Dlink::insert_list() y Aleph::Dlink::remove_all_and_delete().

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

template<class T>
bool Aleph::list< T >::operator!= ( const list< T > &  c) const
inline

Retorna false si la lista this contiene al menos un elemento secuencialmente distinto al de la lista c.

template<class T>
bool Aleph::list< T >::operator< ( const list< T > &  c) const
inline

Retorna true si la lista this es lexicográficamente menor que la lista c.

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

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

template<class T>
bool Aleph::list< T >::operator<= ( const list< T > &  c) const
inline

Retorna true si la lista this es lexicográficamente menor o igual que la lista c.

template<class T>
list& Aleph::list< T >::operator= ( const list< T > &  c)
inline

Elimina todos los elementos de this y le asigna todos los elementos de c.

Hace referencia a Aleph::list< T >::clear().

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

template<class T>
bool Aleph::list< T >::operator== ( const list< T > &  c) const
inline

Retorna true si el contenido de this es exactamente el mismo que el de la lista c.

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

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

template<class T>
bool Aleph::list< T >::operator> ( const list< T > &  c) const
inline

Retorna true si la lista this es lexicográficamente mayor que la lista c.

template<class T>
bool Aleph::list< T >::operator>= ( const list< T > &  c) const
inline

Retorna true si la lista this es lexicográficamente mayor o igual que la lista c.

template<class T>
void Aleph::list< T >::resize ( size_type  num,
const T &  t = T() 
)
inline

Reajusta el tamaño de la lista a num elementos.

resize(num,t) puede tener dos comportamientos según el valor de num:

  1. Si num es menor que la cantidad de elementos de la lista, entonces se eliminan los elementos finales de la lista para que ésta sea de tamaño num.
  2. De lo contrario, se insertan elementos al final de la lista hasta que su tamaño devenga num.
Parámetros
[in]numnuevo tamaño de la lista.
[in]tvalor a insertar si num es mayor que el tamaño de la lista. Por omisión, si no se especifica este parámetros, entonces el valor a insertar será el arrojado por el constructor T::T().
Excepciones
bad_allocsi no hay suficiente memoria.

Hace referencia a Aleph::list< T >::end(), Aleph::list< T >::insert() y Aleph::list< T >::size().

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

template<class T>
void Aleph::list< T >::splice ( iterator  pos,
list< T > &  l 
)
inline

Particiona una lista a partir de la posición del iterador pos

splice(post,l) particiona la lista this a partir del iterador pos y coloca los elementos a partir de pos en la lista l.

splice() particiona la lista en tiempo contante $O(1)$.

Parámetros
[in]positerador cuya posición indica punto de partición de la lista.
[out]llista donde se colocan los elementos de la lista particionada.

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

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

template<class T>
void Aleph::list< T >::splice ( iterator  pos,
list< T > &  src_list,
iterator  src_pos 
)
inline

Mueve el elemento en la posición src_pos de la lista src_list al frente del elemento pos de la lista this.

splice(pos,src_list,src_pos) mueve el elemento actual de src_pos, que itera sobre la lista src_list, al frente del elemento pos de la lista this.

Parámetros
[in]posposición dentro de this donde se insertará elemento de la lista src_list.
[out]src_listlista origen de donde se moverá el elemento.
[in]src_posposición en src_list del elemento a mover.

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

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

template<class T>
void Aleph::list< T >::splice ( iterator  pos,
list< T > &  src_list,
iterator  src_beg,
const iterator src_end 
)
inline

Mueve el rango de elementos [src_beg,src_end) de la lista src_list hacia la lista this en tiempo $O(1)$.

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

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

template<class T>
void Aleph::list< T >::swap ( list< T > &  c)
inline

Intercambian en tiempo constante (muy rápido) todos los elementos del vector this con los del vector c.

Referenciado por Aleph::Path< GT >::swap().

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

template<class T>
template<class Op >
void Aleph::list< T >::unique ( const Op &  op)
inline

Elimina de la lista todos los elementos duplicados consecutivos cuyo criterio op sea true.

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

+ 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