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

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

Lista de todos los miembros.

Tipos públicos

typedef const vector::value_typeconst_reference
 Tipo referencia constante a una entrada del vector.
typedef vector::value_typereference
 Tipo referencia a una entrada del vector.
typedef size_t size_type
 Tipo numérico utilizados para tamaños e índices del vector.
typedef T value_type
 El tipo de dato que almacena el vector.

Métodos públicos

template<typename Itor>
void assign (Itor beg, const Itor &end)
 Asigna al vector los elementos de un contenedor comprendido en el rango [beg..end).
void assign (const size_type &num, const T &value)
 Asigna al vector num entradas con valor value.
const_reference at (const size_type &idx) const
 Retorna una referencia constante al elemento idx de un vector constante.
reference at (const size_type &idx)
 Retorna una referencia al elemento idx del vector.
reference back () const
 Retorna una referencia al elemento del trasero (el último copiado y el más reciente si se inserta secuencialmente).
iterator begin () const
 Retorna un iterador al frente del vector; el primero si fue insertado secuencialmente (índice 0).
size_type capacity () const
 Retorna la capacidad (dimension actual) del vector.
void clear ()
 Elimina todos los elementos del vector.
bool empty () const
 Retorna true si el vector está vacío.
iterator end () const
 Retorna un iterador al frente del vector; el último si fue insertado secuencialmente.
iterator erase (const iterator &beg, const iterator &end)
 Elimina los elementos comprendidos en el rango del vector [[beg..end]]. Retorna un iterador posicionado sobre el elemento perteneciente al vector que queda en la posición beg.
iterator erase (const iterator &pos)
 Borra el elemento de la posición pos.
reference front () const
 Retorna una referencia al elemento del frente (el primero copiado y el menos reciente si se inserta secuencialmente).
template<class Itor>
void insert (const iterator &pos, Itor beg, const Itor &end)
 Inserta a partir de la posición dada por el iterador pos, los elementos de un contenedor del rango [beg..end).
void insert (iterator pos, const size_type &len, const T &value)
 Inserta len instancias de value en la posición dada por el iterador pos.
iterator insert (const iterator &pos, const T &value)
 Inserta value en la posición dada por el iterador pos.
size_type max_size () const
 Retorna la máxima dimensión que puede tener el vector.
bool operator!= (const vector &r) const
 Retorna true si this es distinto que el vector r.
bool operator< (const vector &r) const
 Retorna true si los elementos del vector this son lexicográficamente menores que los elementos del vector r.
bool operator<= (const vector &r) const
 Retorna true si los elementos del vector this son lexicográficamente menores o iguales que los elementos del vector r.
vectoroperator= (const vector &c)
 Asigna un vector.
bool operator== (const vector &r) const
 Retorna true si todos los elementos del vector this son iguales a los elementos del vector r.
bool operator> (const vector &r) const
 Retorna true si los elementos del vector this son lexicográficamente menores que los elementos del vector r.
bool operator>= (const vector &r) const
 Retorna true si los elementos del vector this son lexicográficamente mayores o iguales que los elementos del vector r.
const_reference operator[] (const size_type &idx) const
 Accede a la entrada idx de un vector constante.
reference operator[] (const size_type &idx)
 Accede a la entrada idx.
void pop_back ()
 Elimina el elemento situado al final del vector.
void push_back (const T &value)
 Inserta value al final del vector.
void reserve (const size_type &num)
 Aumenta la capacidad del vector en num entradas.
void resize (const size_type &num, const T &value)
 Reajusta la capacidad a num entradas con valor value (en caso de que num sea mayor que la capacidad actual.
void resize (const size_type &num)
 Reajusta la capacidad del vector a num entradas.
const size_typesize () const
 Retorna el número de elementos que tiene el vector.
void swap (vector &c)
 Intercambia todos los elementos de this con los de c en tiempo contante (muy rápido).
 vector (const size_type &num, const T &value)
 Instancia un nuevo vector de num elementos de valor value.
template<typename Itor>
 vector (Itor beg, const Itor &end)
 Instancia un nuevo vector con copia de los elementos comprendidos en el rango [beg..end) de un contenedor.
 vector (const size_type &num)
 Instancia un vector con capacidad inicial de num.
 vector (const vector &c)
 Instancia un vector copia de v.
 vector ()
 Instancia un vector vacío.

Clases

class  iterator
 Iterador sobre un vector<T>. Más...


Descripción detallada

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

Esta implantación, basada en el tipo DynArray, tiene como ventaja sobre otras implantaciones de vector<T> su alta capacidad de relocalización, la cual se comprende bajo dos bondades al momento de que se requiera mayor capacidad:
  1. Ninguna de las entradas por debajo de la capacidad actual es relocalizada. Esto redunda en la posibilidad de mantener con seguridad punteros a entradas dentro del vector.
  2. La cantidad de memoria que se aparta cuando el vector crece es proporcional a la diferencia entre las nueva y antigua dimensiones.
Las operaciones sobre un vector no efectúan verificación de rango.

Siendo derivado de DynArray, esta implantación es más lenta en acceso que otra implantación basada estrictamente en vectores contiguos de memoria.

Definición en la línea 88 del archivo Vector.H.


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

Leandro R. León