Referencia de la plantilla de la Clase OLhashTable
[Tablas hash]

Tabla hash con resolución de colisiones por direccionamiento abierto y sondeo lineal de cubetas disponibles. Más...

Lista de todos los miembros.

Tipos públicos

typedef size_t(* HashFctType )(const Key &)
 El tipo de función hash.

Métodos públicos

const size_t & capacity () const
 Retorna la capacidad en número de elementos de la tabla.
Record * insert (const Key &key, const Record &record) throw (std::exception, std::overflow_error)
 Inserta el par (key, record). Retorna un puntero al registro dentro de la tabla.
 OLhashTable (HashFctType __hash_fct, const size_t &len)
 Instancia una tabla hash con función hash __hash_fct y dimensión len.
void remove (Record *record)
 Elimina de la tabla el registro apuntado por record. Obviamente, record debe apuntar a una entrada arrojada por insert() o search(). Dispara excepciones invalid_argument si record no es una dirección dentro del rango de la tabla o domain_error si la cubeta del registro no está ocupada.
const size_t & resize (const size_t &new_size) throw (std::exception, std::bad_alloc, std::overflow_error)
 Reajusta la dimensión de la tabla hash al valor new_size y reubica las claves. Dispara bad_alloc si no hay suficiente memoria para reubicar el arreglo y overflow_error si el nuevo tamaño new_size es mayor o igual al tamaño actual.
Record * search (const Key &key)
 Busca la clave key y retorna el registro asociado si key se encuentra dentro de la tabla; de lo contrario, retorna NULL.
const size_t size () const
 Retorna la cantidad de elementos de la tabla.
 ~OLhashTable ()
 Libera toda la memoria ocupada.


Descripción detallada

template<typename Key, typename Record, class Cmp = Aleph::equal_to<Key>>
class Aleph::OLhashTable< Key, Record, Cmp >

Este tipo instrumenta una tabla hash cerrada (el arreglo es contiguo en memoria), que guarda las colisiones dentro de la misma tabla. Cuando hay una colisión, se sondea linealmente la primera cubeta a partir del índice dado por la función hash.

OLhashTable maneja tres parámetros tipo:

  1. Key: el tipo de dato que guarda la tabla.
  2. Record: el tipo de dato a mapear por la clave.
  3. Cmp: la clase de comparación entre claves. retorna true cuando las claves son iguales.

Definición en la línea 83 del archivo tpl_olhash.H.


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

Leandro R. León