BLOG | DOCUMENTATION | GITHUB

Home --> Documentations --> PJLIB Reference

hash.h File Reference

Hash Table. More...

Go to the source code of this file.

Macros

#define PJ_HASH_KEY_STRING   ((unsigned)-1)
 
#define PJ_HASH_ENTRY_BUF_SIZE   (3*sizeof(void*) + 2*sizeof(pj_uint32_t))
 

Typedefs

typedef void * pj_hash_entry_buf[((3 *sizeof(void *)+2 *sizeof(pj_uint32_t))+sizeof(void *) -1)/(sizeof(void *))]
 

Functions

pj_uint32_t pj_hash_calc (pj_uint32_t hval, const void *key, unsigned keylen)
 
pj_uint32_t pj_hash_calc_tolower (pj_uint32_t hval, char *result, const pj_str_t *key)
 
pj_hash_table_tpj_hash_create (pj_pool_t *pool, unsigned size)
 
void * pj_hash_get (pj_hash_table_t *ht, const void *key, unsigned keylen, pj_uint32_t *hval)
 
void * pj_hash_get_lower (pj_hash_table_t *ht, const void *key, unsigned keylen, pj_uint32_t *hval)
 
void pj_hash_set (pj_pool_t *pool, pj_hash_table_t *ht, const void *key, unsigned keylen, pj_uint32_t hval, void *value)
 
void pj_hash_set_lower (pj_pool_t *pool, pj_hash_table_t *ht, const void *key, unsigned keylen, pj_uint32_t hval, void *value)
 
void pj_hash_set_np (pj_hash_table_t *ht, const void *key, unsigned keylen, pj_uint32_t hval, pj_hash_entry_buf entry_buf, void *value)
 
void pj_hash_set_np_lower (pj_hash_table_t *ht, const void *key, unsigned keylen, pj_uint32_t hval, pj_hash_entry_buf entry_buf, void *value)
 
unsigned pj_hash_count (pj_hash_table_t *ht)
 
pj_hash_iterator_tpj_hash_first (pj_hash_table_t *ht, pj_hash_iterator_t *it)
 
pj_hash_iterator_tpj_hash_next (pj_hash_table_t *ht, pj_hash_iterator_t *it)
 
void * pj_hash_this (pj_hash_table_t *ht, pj_hash_iterator_t *it)
 

Detailed Description

Hash Table.

 


PJLIB Open Source, high performance, small footprint, and very very portable framework
Copyright (C) 2006-2009 Teluu Inc.