67 lines
1.8 KiB
ReStructuredText
67 lines
1.8 KiB
ReStructuredText
PL_NewHashTable
|
|
===============
|
|
|
|
Create a new hash table.
|
|
|
|
|
|
Syntax
|
|
------
|
|
|
|
.. code::
|
|
|
|
#include <plhash.h>
|
|
|
|
PLHashTable *PL_NewHashTable(
|
|
PRUint32 numBuckets,
|
|
PLHashFunction keyHash,
|
|
PLHashComparator keyCompare,
|
|
PLHashComparator valueCompare,
|
|
const PLHashAllocOps *allocOps,
|
|
void *allocPriv
|
|
);
|
|
|
|
|
|
Parameters
|
|
~~~~~~~~~~
|
|
|
|
The function has the following parameters:
|
|
|
|
``numBuckets``
|
|
The number of buckets in the hash table.
|
|
``keyHash``
|
|
Hash function.
|
|
``keyCompare``
|
|
Function used to compare keys of entries.
|
|
``valueCompare``
|
|
Function used to compare keys of entries.
|
|
``allocOps``
|
|
A pointer to a ``PLHashAllocOps`` structure that must exist
|
|
throughout the lifetime of the new hash table.
|
|
``allocPriv``
|
|
Passed as the first argument (pool).
|
|
|
|
|
|
Returns
|
|
~~~~~~~
|
|
|
|
The new hash table.
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
:ref:`PL_NewHashTable` creates a new hash table. The table has at least 16
|
|
buckets. You can pass a value of 0 as ``numBuckets`` to create the
|
|
default number of buckets in the new table. The arguments ``keyCompare``
|
|
and ``valueCompare`` are functions of type :ref:`PLHashComparator` that the
|
|
hash table library functions use to compare the keys and the values of
|
|
entries.
|
|
|
|
The argument ``allocOps`` points to a ``PLHashAllocOps`` structure that
|
|
must exist throughout the lifetime of the new hash table. The hash table
|
|
library functions do not make a copy of this structure. When the
|
|
allocation functions in ``allocOps`` are invoked, the allocation private
|
|
data allocPriv is passed as the first argument (pool). You can specify a
|
|
``NULL`` value for ``allocOps`` to use the default allocation functions.
|
|
If ``allocOps`` is ``NULL``, ``allocPriv`` is ignored. Note that the
|
|
default ``freeEntry`` function does not free the value of the entry.
|