Referencia de la plantilla de la Clase list
[Secuencias.Contenedores de la biblioteca estándar C++.]

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

Lista de todos los miembros.

Tipos públicos

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

Métodos públicos

template<typename Itor>
void assign (Itor beg, const Itor &end)
 Elimina todos los elementos de this e inserta en el vector los elementos de un contenedor en el rango comprendido entre [beg.
void assign (const size_type &num, const T &value)
 Elimina todos los elementos de this e inserta num elementos con valor value.
reference back () const
 Retorna una referencia al último elemento de la lista.
iterator begin () const
 Retorna un iterador posicionado en el primer elemento de la lista.
void clear ()
 Elimina todos los elementos de la lista.
bool empty () const
 Retorna true si la lista está vacía.
iterator end () const
 Retorna un iterador posicionado en el último elemento de la lista.
iterator erase (iterator beg, const iterator &end)
 Elimina de la lista los elementos del rango [[beg..end). Retorna un iterador posicionado en el primer elemento sucesor a los eliminados.
iterator erase (iterator pos)
 Elimina el elemento posicionado por el iterador pos.
reference front () const
 Retorna una referencia al primer elemento de la lista.
template<class Itor>
void insert (iterator pos, Itor beg, const Itor &end)
 Inserta en la lista, a partir de la posición pos, los elementos de un contenedor comprendidos en el rango [beg..end).
void insert (iterator pos, const size_type &num, const T &value)
 Inserta en la lista, a partir de la posición actual de pos, num copias del valor value.
iterator insert (const iterator &pos, const T &value)
 Inserta el valor de value a partir del elemento actual del iterador pos. Retorna un iterador posicionado sobre el elemento recién insertado.
template<class Itor>
 list (Itor beg, const Itor &end)
 Instancia una nueva lista con los elementos de un contenedor comprendidos en el rango [beg.
 list (const size_type &num, const T &value)
 Instancia una nueva lista de num elementos con valor inicial value.
 list (const size_type &num)
 Instancia una nueva lista de num elementos cuyo valor está determinado por lo que el constructor T::T().
 list (const list &c)
 Instancia una lista copia de c.
 list ()
 Instancia una lista vacía.
void merge (list &l)
 Mezcla dos listas ordenadas.
template<class Cmp>
void merge (list &l, const Cmp &)
 Mezcla dos listas ordenadas según criterio de comparación Cmp.
bool operator!= (const list &c) const
 Retorna false si la lista this contiene al menos un elemento secuencialmente distinto al de la lista c.
bool operator< (const list &c) const
 Retorna true si la lista this es lexicográficamente menor que la lista c.
bool operator<= (const list &c) const
 Retorna true si la lista this es lexicográficamente menor o igual que la lista c.
listoperator= (const list &c)
 Elimina todos los elementos de this y le asigna todos los elementos de c.
bool operator== (const list &c) const
 Retorna true si el contenido de this es exactamente el mismo que el de la lista c.
bool operator> (const list &c) const
 Retorna true si la lista this es lexicográficamente mayor que la lista c.
bool operator>= (const list &c) const
 Retorna true si la lista this es lexicográficamente mayor o igual que la lista c.
void pop_back ()
 Elimina de la lista el último elemento.
void pop_front ()
 Elimina de la lista el primer elemento.
void push_front (const T &value)
 Inserta al principio de la lista el valor value.
void remove (const T &value)
 Inserta al final de la lista el valor value.
void resize (size_type num, const T &t=T())
 Reajusta el tamaño de la lista a num elementos.
void reverse ()
 Invierte la lista.
size_type size ()
 Retorna la cantidad de elementos que tiene la lista.
void sort ()
 Ordena la lista.
template<class Cmp>
void sort (const Cmp &)
 Ordena la lista según criterio de comparación Cmp.
void splice (iterator pos, list &src_list, iterator src_beg, const iterator &src_end)
 Mueve el rango de elementos [src_beg,src_end) de la lista src_list hacia la lista this en tiempo $O(1)$.
void splice (iterator pos, list &src_list, iterator src_pos)
 Mueve el elemento en la posición src_pos de la lista src_list al frente del elemento pos de la lista this.
void splice (iterator pos, list &l)
 Particiona una lista a partir de la posición del iterador pos.
void swap (list &c)
 Intercambian en tiempo constante (muy rápido) todos los elementos del vector this con los del vector c.
void unique ()
 Elimina de la lista todos los elementos duplicados consecutivos.
template<class Op>
void unique (const Op &op)
 Elimina de la lista todos los elementos duplicados consecutivos cuyo criterio op sea true.

Clases

class  iterator
 Iterador sobre List<T>. Más...


Descripción detallada

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

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

Ver también:
Dlist<T>

Definición en la línea 67 del archivo List.H.


Documentación del constructor y destructor

list ( const size_type num,
const T &  value 
) [inline]

Parámetros:
[in] num la cantidad inicial de elementos.
[in] value el 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.

Definición en la línea 347 del archivo List.H.

list ( Itor  beg,
const Itor &  end 
) [inline]

.end).

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

Parámetros:
[in] beg inicio del rango en el contenedor de copia.
[in] end té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.

Definición en la línea 369 del archivo List.H.


Documentación de las funciones miembro

void assign ( Itor  beg,
const Itor &  end 
) [inline]

.end).

Parámetros:
[in] beg comienzo del rango.
[in] end té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.

Definición en la línea 521 del archivo List.H.

Hace referencia a list::clear().

void assign ( const size_type num,
const T &  value 
) [inline]

Parámetros:
[in] num cantidad de elementos a insertar.
[in] value valor 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.

Definición en la línea 502 del archivo List.H.

Hace referencia a list::clear().

void resize ( size_type  num,
const T &  t = T() 
) [inline]

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] num nuevo tamaño de la lista.
[in] t valor 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_alloc si no hay suficiente memoria.

Definición en la línea 733 del archivo List.H.

Hace referencia a list::end(), list::insert(), y list::size().

void splice ( iterator  pos,
list< T > &  src_list,
iterator  src_pos 
) [inline]

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] pos posición dentro de this donde se insertará elemento de la lista src_list.
[out] src_list lista origen de donde se moverá el elemento.
[in] src_pos posición en src_list del elemento a mover.

Definición en la línea 819 del archivo List.H.

Hace referencia a list::iterator::itor, y list::num_elem.

void splice ( iterator  pos,
list< T > &  l 
) [inline]

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] pos iterador cuya posición indica punto de partición de la lista.
[out] l lista donde se colocan los elementos de la lista particionada.

Definición en la línea 792 del archivo List.H.

Hace referencia a list::dlist, list::iterator::itor, list::num_elem, list::num_elem_is_updated, y list::reset_num_elem().


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

Leandro R. León