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::FixedQueue< T >

#include <tpl_arrayQueue.H>

Métodos públicos

void swap (FixedQueue &q)
 
 FixedQueue (const size_t &tp=8)
 
 ~FixedQueue ()
 Destructor.
 
 FixedQueue (const FixedQueue &q)
 
 FixedQueue (FixedQueue &&q)
 
FixedQueueoperator= (const FixedQueue &q)
 
FixedQueueoperator= (FixedQueue &&q)
 
T & put (const T &item) throw (std::exception, std::overflow_error)
 
T & put (T &&item) throw (std::exception, std::overflow_error)
 
T & putn (const size_t n) throw (std::exception, std::overflow_error)
 
get () throw (std::exception, std::underflow_error)
 
T & getn (const size_t n) throw (std::exception, std::underflow_error)
 
T & front (const size_t i=0) throw (std::exception, std::range_error)
 
const T & front (const size_t i=0) const throw (std::exception, std::range_error)
 
T & rear (const size_t i=0) throw (std::exception, std::range_error)
 
const T & rear (const size_t i=0) const throw (std::exception, std::range_error)
 
const size_t & size () const
 Retorna el número de elementos que contiene la cola.
 
bool is_empty () const
 Retorna true si la cola está vacía.
 
const size_t & capacity () const
 
template<class Operation >
bool traverse (Operation &operation)
 
template<class Operation >
bool traverse (Operation &operation) const
 
template<class Operation >
bool traverse (Operation &&operation=Operation()) const
 
template<class Operation >
bool traverse (Operation &&operation=Operation())
 
 Functional_Methods (T)
 
 Generic_Items (T)
 

Descripción detallada

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

Cola implantada con arreglos estáticos y sin verificación de número de elementos.

FixedQueue<T> instrumenta una cola de elementos de tipo T con una capacidad máxima de dim elementos. Para este tipo, ninguna operación efectúa verificación acerca del número de elementos. Por esa razón FixedQueue es más rápido que ArrayQueue.

Una cola instrumentada mediante un arreglo es mucho más rápida que una instrumentada con listas enlazadas. El arreglo interno se aparta en memoria.

Parámetros
Ttipo de elemento que alberga la cola. equivalente a la dimensión del arreglo.
Ver también
ArrayQueue DynListQueue
Nota
Si no se tiene la certitud de la correctitud, entonces úsese el tipo ArrayQueue, que es ligeramente más lento, pero que realiza verificaciones de desborde positivo y negativo.

Documentación del constructor y destructor

template<typename T >
Aleph::FixedQueue< T >::FixedQueue ( const size_t &  tp = 8)
inline

Constructor que especifica capacidad máxima.

Construye una cola con capacidad máxima de $ 2^{tp}$ elementos.

Parámetros
[in]tppotencia de dos de la capacidad deseada; la capacidad será de $ 2^{tp}$ elementos.

Documentación de las funciones miembro

template<typename T >
const size_t& Aleph::FixedQueue< T >::capacity ( ) const
inline

Retorna la capacidad de la cola (máxima cantidad de elementos que puede contener.

template<typename T >
T& Aleph::FixedQueue< T >::front ( const size_t  i = 0)
throw (std::exception,
std::range_error
)
inline

Accede al i-ésimo elemento desde el frente de la cola.

front(i) accede a la i-ésima posición desde el frente de la cola. Esto es equivalente a conocer el i-ésimo elemento más antiguo.

Parámetros
[in]iposición de acceso.
Devuelve
una referencia modificable al i-ésimo elemento desde el frente de la cola.
Excepciones
range_errorsi i está fuera de rango.
template<typename T >
T Aleph::FixedQueue< T >::get ( )
throw (std::exception,
std::underflow_error
)
inline

Elimina el elemento del frente de la cola y retorna una copia.

get() sobre la cola elimina el elemento del frente y retorna una copia del elemento recién eliminado.

Devuelve
una copia del elemento recién eliminado.
template<typename T >
T& Aleph::FixedQueue< T >::getn ( const size_t  n)
throw (std::exception,
std::underflow_error
)
inline

Elimina n elementos de la cola y retorna el elemento situado en el frente.

getn(n) saca n elementos de la cola en tiempo constante.

Parámetros
[in]nnúmero de elementos a sacar.
Devuelve
una referencia modificable al elemento situado en el frente luego de eliminar las n entradas
template<typename T >
T& Aleph::FixedQueue< T >::put ( const T &  item)
throw (std::exception,
std::overflow_error
)
inline

Inserta un elemento en la cola.

put(item) inserta una copia de item en la cola.

Parámetros
[in]itemel elemento a insertar.
Devuelve
una referencia modificable al elemento recién insertado.
template<typename T >
T& Aleph::FixedQueue< T >::putn ( const size_t  n)
throw (std::exception,
std::overflow_error
)
inline

Aparta n espacios de inserción en la cola.

putn(n) aparta n espacios de inserción en la cola. Esto es equivalente a que se hubiesen realizado n inserciones consecutivas, con la bondad de que la operación toma tiempo constante.

Los valores de los espacios insertados son indeterminados. Pueden accederse mediante las operaciones front() y rear().

Parámetros
[in]ncantidad de espacios insertar.
Devuelve
referencia modificable al último espacio en el trasero de la cola.
template<typename T >
T& Aleph::FixedQueue< T >::rear ( const size_t  i = 0)
throw (std::exception,
std::range_error
)
inline

Accede al i-ésimo elemento desde el trasero de la cola.

rear(i) accede a la i-ésima posición desde el trasero de la cola. Esto es equivalente a conocer el i-ésimo elemento más joven.

Parámetros
[in]iposición de acceso.
Devuelve
una referencia modificable al i-ésimo elemento desde el trasero de la cola.

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

Leandro Rabindranath León