46 lines
903 B
ReStructuredText
46 lines
903 B
ReStructuredText
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`.
|