HashTable
HashTable /* of CachedDirListNode */ table;
HashTable members; /* All the members of the archive described
HashTable /* of CachedDirListNode */ table;
static HashTable mtimes;
static HashTable lmtimes; /* same as mtimes but for lstat */
HashTable *tbl = useLstat ? &lmtimes : &mtimes;
FreeCachedTable(HashTable *tbl)
HashTable_Find(HashTable *t, Substring key, unsigned h)
HashTable_Init(HashTable *t)
HashTable_Done(HashTable *t)
HashTable_FindEntry(HashTable *t, const char *key)
HashTable_FindValue(HashTable *t, const char *key)
HashTable_FindValueBySubstringHash(HashTable *t, Substring key, unsigned h)
HashTable_MaxChain(const HashTable *t)
HashTable_Enlarge(HashTable *t)
HashTable_CreateEntry(HashTable *t, const char *key, bool *out_isNew)
HashTable_Set(HashTable *t, const char *key, void *value)
HashTable_DeleteEntry(HashTable *t, HashEntry *he)
HashTable *t = hi->table;
HashTable_DebugStats(const HashTable *t, const char *name)
HashTable tbl;
HashIter_Init(HashIter *hi, HashTable *t)
void HashTable_Init(HashTable *);
void HashTable_Done(HashTable *);
HashEntry *HashTable_FindEntry(HashTable *, const char *) MAKE_ATTR_USE;
void *HashTable_FindValue(HashTable *, const char *) MAKE_ATTR_USE;
void *HashTable_FindValueBySubstringHash(HashTable *, Substring, unsigned)
HashEntry *HashTable_CreateEntry(HashTable *, const char *, bool *);
void HashTable_Set(HashTable *, const char *, void *);
void HashTable_DeleteEntry(HashTable *, HashEntry *);
void HashTable_DebugStats(const HashTable *, const char *);
HashTable *table; /* Table being searched. */
static HashTable cached_realpaths;
HashTable /* of Var pointer */ vars;
static HashTable /* full file name -> Guard */ guards;
static HashTable interned_strings;
static HashTable allTargetsByName;