2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 00:12:11 +00:00
Files
build/src/engine/hash.h
Dave Abrahams 91f796fa72 * builtins.c/h, modules.c/h - Added VARNAMES and DELETE_MODULE rules,
for getting the list of variable names and for clearing all rule and
  variable storage.

* compile.c - better error reporting for unknown rules; now it is a
  hard error.

* hash.c/h - added hash_free to allow removal of elements from a hash

* rule.c/h - implemented rule freeing; stopped exporting rules to the
  global module by default.

* variable.c - reclaim variable storage when disposing of variable
  hash.

* build.jam - make grammar building work under NT


[SVN r18405]
2003-05-15 20:53:16 +00:00

21 lines
617 B
C

/*
* Copyright 1993, 1995 Christopher Seiwald.
*
* This file is part of Jam - see jam.c for Copyright information.
*/
/*
* hash.h - simple in-memory hashing routines
*/
typedef struct hashdata HASHDATA;
struct hash * hashinit( int datalen, char *name );
int hashitem( struct hash *hp, HASHDATA **data, int enter );
void hashdone( struct hash *hp );
void hashenumerate( struct hash *hp, void (*f)(void*,void*), void* data );
int hash_free( struct hash *hp, HASHDATA *data);
# define hashenter( hp, data ) (!hashitem( hp, data, !0 ))
# define hashcheck( hp, data ) hashitem( hp, data, 0 )