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. |
OLhashTable maneja tres parámetros tipo:
Definición en la línea 83 del archivo tpl_olhash.H.