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

#include <tpl_dynSetHash.H>

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

Clases

class  Iterator
 

Tipos públicos

typedef Base::Hash_Fct Hash_Fct
 El tipo de función hash.
 
typedef Key Key_Type
 
typedef Key Item_Type
 

Métodos públicos

 DynHashTable (Hash_Fct hash_fct=Aleph::dft_hash_fct< Key >, const size_t len=Primes::DefaultPrime, const float lower_alpha=hash_default_lower_alpha, const float upper_alpha=hash_default_upper_alpha)
 
 DynHashTable (const DynHashTable &other)
 
 DynHashTable (DynHashTable &&other)
 
DynHashTableoperator= (const DynHashTable &other)
 
DynHashTableoperator= (DynHashTable &&other)
 
Key * insert (const Key &key)
 
Key * insert (Key &&key)
 
Key * add (const Key &key)
 
Key * add (Key &&key)
 
Key * search (const Key &key) const
 
bool has (const Key &key) const
 
bool contains (const Key &key) const
 
Key & find (const Key &key)
 
 Generic_Keys (Key)
 returns a container with all the keys of the table
 
void remove (Key *key)
 
void remove (const Key &key)
 
 Generic_Traverse (Key)
 
 Functional_Methods (Key)
 
 Equal_To_Method (DynHashTable)
 

Tipos protegidos

typedef HashTable< Key, Cmp > Base
 
typedef HashTable< Key, Cmp >
::Bucket 
Bucket
 

Métodos protegidos

Key * insert_bucket (Bucket *bucket)
 

Métodos protegidos estáticos

static Bucket * key_to_bucket (Key *key)
 

Descripción detallada

template<typename Key, class Cmp = Aleph::equal_to<Key>, template< typename, class > class HashTable = LhashTable>
class Aleph::DynHashTable< Key, Cmp, HashTable >

Tabla hash dinámica autoajustante

DynHashTable<Key> instrumenta una tabla hash lineal y dinámica en la cual no es necesario preocuparse por el tamaño; éste es automáticamente ajustado según unos límites al factor de carga definidos en tiempo de construcción.

Parámetros
Keyel tipo de dato del dominio según el cual se indiza el rango.
Ver también
LinearHashTable

Documentación del constructor y destructor

template<typename Key, class Cmp = Aleph::equal_to<Key>, template< typename, class > class HashTable = LhashTable>
Aleph::DynHashTable< Key, Cmp, HashTable >::DynHashTable ( Hash_Fct  hash_fct = Aleph::dft_hash_fct<Key>,
const size_t  len = Primes::DefaultPrime,
const float  lower_alpha = hash_default_lower_alpha,
const float  upper_alpha = hash_default_upper_alpha 
)
inline

Instancia una tabla hash lineal dinámica.

Parámetros
[in]hash_fctla función hash.
[in]lentamaño inicial y mínimo de la tabla hash. El tamaño nunca será más bajo que el este.
[in]lower_alphaumbral inferior de carga; tamaño de la tabla se reducirá si la carga es inferior a este factor.
[in]upper_alphaumbral superior de carga; tamaño de la tabla se expandirá si la carga es superior a este factor.

Documentación de las funciones miembro

template<typename Key, class Cmp = Aleph::equal_to<Key>, template< typename, class > class HashTable = LhashTable>
Key* Aleph::DynHashTable< Key, Cmp, HashTable >::insert ( const Key &  key)
inline

Inserta en el conjunto hash la clave key. Retorna un puntero a la clave si fue insertada o NULL si la clave no fue insertada

template<typename Key, class Cmp = Aleph::equal_to<Key>, template< typename, class > class HashTable = LhashTable>
void Aleph::DynHashTable< Key, Cmp, HashTable >::remove ( Key *  key)
inline

Elimina de la tabla la clave key cuyo puntero debe ser resultante de una inserción o búsqueda.

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

Busca la clave key, si se encuentra, entonces retorna un puntero dentro de la tabla a la clave. De lo contrario -no se encuentra la clave-, se retorna NULL:


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

Leandro Rabindranath León