Referência do Arquivo hash.h

Implementação de uma estrutura para criar hashs que mapeiam strings-números_reais, ou seja, pares chave-valor. Mais...

Este grafo mostra quais arquivos estão direta ou indiretamente relacionados com este arquivo:

Vá para o código-fonte deste arquivo.

Componentes

struct  struct_Hash
struct  struct_HashNode

Definições e Macros

#define get16bits(d)   (*((const uint16_t *) (d)))
 Macro para fazer cast de valores utilizada na rotina que gera o hash.
#define HASH_MAX   100
 Tamanho máximo da chave do hash.

Definições de Tipos

typedef struct_Hash Hash
typedef struct_HashNode HashNode

Funções

HashNodebuildHashNode (char *key, double value)
 Constrói um novo node da lista ligada utilizada para armazenar os dados do hash.
void destroyHash (Hash **refHash)
 Destrói um hash e desaloda todo conteúdo alocado.
void destroyHashNode (HashNode **refNode)
 Destrói um HashNode e desaloda todo conteúdo alocado.
void dumpHash (Hash *hash)
 Dump do conteúdo armazenado no hash.
int hashIndex (char *key)
 Função de espalhamento que gera o indicador da posição a partir da chave do hash.
int hcontains (Hash *hash, char *key)
 Informa se o hash possui uma determinada chave armazenada.
double hget (Hash *hash, char *key)
 Retorna do hash o valor armazenado correspondente à chave.
int hlength (Hash *Hash)
 Retorna o tamanho, número de elementos ou pares chave-valor, do hash.
int hput (Hash **refHash, char *key, double value)
 Adiciona um par chave-valor em um hash.
HashnewHash ()
 Cria um novo hash vazio.
HashNodenewHashNode ()
 Cria um novo node da lista ligada utilizada para armazenar os dados do hash.


Descrição Detalhada

Implementação de uma estrutura para criar hashs que mapeiam strings-números_reais, ou seja, pares chave-valor.

Autor:
Ernesto Colla (ernesto@gmail.com)
Versão:
0.0.1
Data:
Abril/2007
Implementação de uma biblioteca genérica para trabalhar com hashs que mapeiam palavras (strings) a números reais.

Definição no arquivo hash.h.


Definições dos tipos

typedef struct struct_Hash Hash

Estrutura de dados utilizada para armazenar o conteúdo do hash

typedef struct struct_HashNode HashNode

HashNode de uma lista ligada


Funções

HashNode* buildHashNode ( char *  key,
double  value 
)

Constrói um novo node da lista ligada utilizada para armazenar os dados do hash.

Parâmetros:
[in] key Chave do par chave-valor que será armazenado.
[in] value Valor do par chave-valor que será armazenado.
Retorna:
Ponteiro para um novo node da lista ligada.

void destroyHash ( Hash **  refHash  ) 

Destrói um hash e desaloda todo conteúdo alocado.

Parâmetros:
[out] refHash Referência para o hash a ser destruído.

void destroyHashNode ( HashNode **  refNode  ) 

Destrói um HashNode e desaloda todo conteúdo alocado.

Parâmetros:
[out] refNode Referência para o node a ser destruído.

void dumpHash ( Hash hash  ) 

Dump do conteúdo armazenado no hash.

Parâmetros:
[in] hash Hash do qual será feito o dump.

int hashIndex ( char *  key  ) 

Função de espalhamento que gera o indicador da posição a partir da chave do hash.

Parâmetros:
[in] key Chave que identifica o elemento do hash.
Retorna:
Valor correspondente à posição no array de armazenamento de dados.

int hcontains ( Hash hash,
char *  key 
)

Informa se o hash possui uma determinada chave armazenada.

Parâmetros:
[in] hash Hash a ser consultado.
[in] key Chave que se deseja saber se está armazenada no hash.
Retorna:
'1': se houver um elemento correspondente à chave procurada. '0': caso contrário.

double hget ( Hash hash,
char *  key 
)

Retorna do hash o valor armazenado correspondente à chave.

Parâmetros:
[in] hash Hash a ser consultado.
[in] key Chave do qual se deseja o valor armazenado.
Retorna:
Valor correspondente à chave armazenada no hash ou '\0' caso o hash não tenha a chave procurada.

int hlength ( Hash Hash  ) 

Retorna o tamanho, número de elementos ou pares chave-valor, do hash.

Retorna:
Tamanho do hash.

int hput ( Hash **  refHash,
char *  key,
double  value 
)

Adiciona um par chave-valor em um hash.

Parâmetros:
[out] refHash Referência para o hash no qual o par chave-valor será armazenado
[in] key Chave do par chave-valor que será armazenado.
[in] value Valor do par chave-valor que será armazenado.
Retorna:
Número de elementos armazenados no hash.

Hash* newHash (  ) 

Cria um novo hash vazio.

Retorna:
Ponteiro para um hash criado.

HashNode* newHashNode (  ) 

Cria um novo node da lista ligada utilizada para armazenar os dados do hash.

Retorna:
Ponteiro para um novo node da lista ligada.


Gerado em Fri Feb 15 19:50:41 2008 para IME-Dissertação por  doxygen 1.5.1