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::OLhashTable< Key, Cmp >

#include <tpl_olhash.H>

+ Diagrama de herencias de Aleph::OLhashTable< Key, Cmp >
+ Diagrama de colaboración para Aleph::OLhashTable< Key, Cmp >:

Clases

struct  Bucket
 

Tipos públicos

enum  Status { EMPTY, BUSY, DELETED }
 
typedef Key Key_Type
 
typedef Key Item_Type
 
typedef size_t(* Hash_Fct )(const Key &)
 El tipo de función hash.
 

Métodos públicos

 OLhashTable (Hash_Fct __hash_fct=Aleph::dft_hash_fct< Key >, Hash_Fct null_hash_fct=NULL, size_t __len=Primes::DefaultPrime, const float &__lower_alpha=hash_default_lower_alpha, const float &__upper_alpha=hash_default_upper_alpha, const bool __with_resize=true)
 
 ~OLhashTable ()
 Libera toda la memoria ocupada.
 
void swap (OLhashTable &other)
 
 OLhashTable (const OLhashTable &other)
 
 OLhashTable (OLhashTable &&other)
 
OLhashTableoperator= (const OLhashTable &other)
 
OLhashTableoperator= (OLhashTable &&other)
 
Key * search (const Key &key) const
 
void remove (const Key &key)
 
 OHASH_COMMON (OLhashTable)
 
 Generic_Traverse (Key)
 
 Functional_Methods (Key) Equal_To_Method(OLhashTable)
 
Stats stats () const
 

Métodos públicos estáticos

static Bucketkey_to_bucket (Key *rec)
 

Atributos públicos

Buckettable
 
size_t N
 

Atributos protegidos

size_t len
 
float lower_alpha
 
float upper_alpha
 

Descripción detallada

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

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

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.

Documentación del constructor y destructor

template<typename Key, class Cmp = Aleph::equal_to<Key>>
Aleph::OLhashTable< Key, Cmp >::OLhashTable ( Hash_Fct  __hash_fct = Aleph::dft_hash_fct<Key>,
Hash_Fct  null_hash_fct = NULL,
size_t  __len = Primes::DefaultPrime,
const float &  __lower_alpha = hash_default_lower_alpha,
const float &  __upper_alpha = hash_default_upper_alpha,
const bool  __with_resize = true 
)
inline

Instancia una tabla hash con función hash __hash_fct y dimensión len.

Documentación de las funciones miembro

template<typename Key, class Cmp = Aleph::equal_to<Key>>
Aleph::OLhashTable< Key, Cmp >::remove ( const Key &  key)
inline

Elimina la clave apuntada por key

template<typename Key, class Cmp = Aleph::equal_to<Key>>
Key* Aleph::OLhashTable< Key, Cmp >::search ( const Key &  key) const
inline

Busca la clave key y retorna el registro asociado si key se encuentra dentro de la tabla; de lo contrario, retorna NULL.


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

Leandro Rabindranath León