return NULL; \
cust_prefix##_privtree_delete_node((ul_hashtab_treeroot_t *)treeroot, node); \
table->cust_table_field.count--; \
+ if(((cust_sizestep)!=ul_hashtab_sizestep_null)&&table->cust_table_field.sizestep) {\
+ if(table->cust_table_field.sizestep>ul_hashtab_sizestep_max(cust_sizestep)) \
+ table->cust_table_field.sizestep=ul_hashtab_sizestep_max(cust_sizestep); \
+ if(table->cust_table_field.count<=(cust_sizestep)[table->cust_table_field.sizestep].toshrink) {\
+ table->cust_table_field.sizestep--; \
+ cust_prefix##_resize_table(table, (cust_sizestep)[table->cust_table_field.sizestep].size);\
+ } \
+ } \
return cust_prefix##_privtree_node2item(NULL,node); \
} \
\
static const ul_hashtab_sizestep_t ul_hashtab_sizestep_default_table[]={
{ ((ul_hashtab_hashval_t)~0l)<(1l<<8)?2:
((ul_hashtab_hashval_t)~0l)<(1l<<16)?5:8,
- TABENT( 1), TABENT( 0)},
+ TABENT( 2), TABENT( 0)},
{TABENT( 0), TABENT( 4), TABENT( 4)},
{TABENT( 3), TABENT( 6), TABENT( 6)},
{TABENT( 5), TABENT( 8), TABENT( 8)},
{TABENT(10), TABENT(14), TABENT(12)},
{TABENT(13), TABENT(18), TABENT(14)},
{TABENT(17), TABENT(21), TABENT(16)},
- {TABENT(16), 0, TABENT(18)},
+ {TABENT(16), 0, TABENT(18)},
};
const ul_hashtab_sizestep_t * const ul_hashtab_sizestep_default=ul_hashtab_sizestep_default_table;