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.