41 lines
838 B
Markdown
41 lines
838 B
Markdown
# PL_HashTableRemove
|
|
|
|
Removes the entry with the specified key from the hash table.
|
|
|
|
## Syntax
|
|
|
|
```{code}
|
|
#include <plhash.h>
|
|
|
|
PRBool PL_HashTableRemove(
|
|
PLHashTable *ht,
|
|
const void *key);
|
|
```
|
|
|
|
### Parameters
|
|
|
|
The function has the following parameters:
|
|
|
|
`ht`
|
|
|
|
: A pointer to the hash table from which to remove the entry.
|
|
|
|
`key`
|
|
|
|
: A pointer to the key for the entry to be removed.
|
|
|
|
## Description
|
|
|
|
If there is no entry in the table with the specified key,
|
|
{ref}`PL_HashTableRemove` returns `PR_FALSE`. If the entry exists,
|
|
{ref}`PL_HashTableRemove` removes the entry from the table, invokes
|
|
`freeEntry` with the `HT_FREE_ENTRY` flag to frees the entry, and
|
|
returns `PR_TRUE`.
|
|
|
|
If the table is underloaded, {ref}`PL_HashTableRemove` also shrinks the
|
|
number of buckets by half.
|
|
|
|
## Remark
|
|
|
|
This function should return {ref}`PRStatus`.
|