#include "pldhash.h"#include "nscore.h"#include "nsString.h"#include "nsHashKeys.h"
Include dependency graph for nsDoubleHashtable.h:
This graph shows which files directly or indirectly include this file:Classes | |
| class | PLDHashStringEntry |
| class | PLDHashCStringEntry |
| class | PLDHashInt32Entry |
| class | PLDHashVoidEntry |
Defines | |
| #define | DHASH_CALLBACKS(ENTRY_CLASS) |
| nsDoubleHashtable.h is OBSOLETE. | |
| #define | DHASH_INIT(HASHTABLE, ENTRY_CLASS, NUM_INITIAL_ENTRIES, RV) |
| #define | DECL_DHASH_WRAPPER(CLASSNAME, ENTRY_CLASS, KEY_TYPE) |
| #define | DHASH_WRAPPER(CLASSNAME, ENTRY_CLASS, KEY_TYPE) |
| #define | DHASH_EXPORT |
| #define DECL_DHASH_WRAPPER | ( | CLASSNAME, | ||
| ENTRY_CLASS, | ||||
| KEY_TYPE | ||||
| ) |
class DHASH_EXPORT CLASSNAME { \ public: \ CLASSNAME(); \ ~CLASSNAME(); \ nsresult Init(PRUint32 aNumInitialEntries); \ ENTRY_CLASS* GetEntry(const KEY_TYPE aKey); \ ENTRY_CLASS* AddEntry(const KEY_TYPE aKey); \ void Remove(const KEY_TYPE aKey); \ PLDHashTable mHashTable; \ };
| #define DHASH_CALLBACKS | ( | ENTRY_CLASS | ) |
static PLDHashNumber \ ENTRY_CLASS##HashKey(PLDHashTable* table, const void* key) \ { \ return ENTRY_CLASS::HashKey(key); \ } \ static PRBool \ ENTRY_CLASS##MatchEntry(PLDHashTable *table, const PLDHashEntryHdr *entry, \ const void *key) \ { \ const ENTRY_CLASS* e = static_cast<const ENTRY_CLASS*>(entry); \ return e->MatchEntry(key); \ } \ static void \ ENTRY_CLASS##ClearEntry(PLDHashTable *table, PLDHashEntryHdr *entry) \ { \ ENTRY_CLASS* e = static_cast<ENTRY_CLASS *>(entry); \ e->~ENTRY_CLASS(); \ } \ static PRBool \ ENTRY_CLASS##InitEntry(PLDHashTable *table, PLDHashEntryHdr *entry, \ const void *key) \ { \ new (entry) ENTRY_CLASS(key); \ return PR_TRUE; \ }
nsDoubleHashtable.h is OBSOLETE.
Use nsTHashtable or a derivative instead.
| #define DHASH_EXPORT |
| #define DHASH_INIT | ( | HASHTABLE, | ||
| ENTRY_CLASS, | ||||
| NUM_INITIAL_ENTRIES, | ||||
| RV | ||||
| ) |
PR_BEGIN_MACRO \ static PLDHashTableOps hash_table_ops = \ { \ PL_DHashAllocTable, \ PL_DHashFreeTable, \ ENTRY_CLASS##HashKey, \ ENTRY_CLASS##MatchEntry, \ PL_DHashMoveEntryStub, \ ENTRY_CLASS##ClearEntry, \ PL_DHashFinalizeStub, \ ENTRY_CLASS##InitEntry \ }; \ PRBool isLive = PL_DHashTableInit(&(HASHTABLE), \ &hash_table_ops, nsnull, \ sizeof(ENTRY_CLASS), \ (NUM_INITIAL_ENTRIES)); \ if (!isLive) { \ (HASHTABLE).ops = nsnull; \ RV = NS_ERROR_OUT_OF_MEMORY; \ } else { \ RV = NS_OK; \ } \ PR_END_MACRO
| #define DHASH_WRAPPER | ( | CLASSNAME, | ||
| ENTRY_CLASS, | ||||
| KEY_TYPE | ||||
| ) |
1.7.1