Commit graph

34 commits

Author SHA1 Message Date
Bill Currie
8bd626a3e4 [hash] Add a couple of data-oriented functions
Hash_Select returns a list of elements that match a given criterion
(select callback returning non-0).

Hash_ForEach simply calls a function for every element.
2022-04-25 00:18:22 +09:00
Bill Currie
518befdaed [util] FIx an "only" in a comment 2021-01-05 17:40:07 +09:00
Bill Currie
4cef9792f4 [util] Make hash-tables semi-thread-safe
They take a pointer to a free-list used for hashlinks so the hashlink
pools can be per-thread. However, hash tables that are not updated are
always thread-safe, so this affects only updates. progs_t has been set
up such that it is easy for multiple progs within one thread can share
hashlinks.
2020-03-25 15:43:16 +09:00
Bill Currie
a30433fa9e Make header protection consistent
And delete a couple of useless files.
2020-02-24 12:21:20 +09:00
Bill Currie
9248e8cf01 Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
Bill Currie
34bcf7faab Do a pure/const/noreturn/format attribute pass.
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
ec42bde527 Make hash tables more const correct.
And clean up the resulting mess :/
2012-10-27 11:44:31 +09:00
Bill Currie
23a38738fc Massive whitespace cleanup.
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525 Nuke the rcsid stuff.
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
2b539ee4ae Add include for stdlib.h
This is needed for size_t when hash.h is the first file included.
2011-01-10 12:25:30 +09:00
Bill Currie
ac02c36aaf interim linux compile fixes for the in64 fixes (hah) 2007-04-04 08:27:49 +00:00
Bill Currie
ff132bb536 64bit windows patch from phrosty 2007-04-04 07:48:14 +00:00
Bill Currie
6fbddc3d43 so that's the right way to do groups and subgroups... 2006-12-05 11:40:00 +00:00
Bill Currie
42f1334b87 I've discovered \par :) 2006-12-04 13:08:52 +00:00
Bill Currie
f37cfefc5a fix the doxygen comments to produce proper docs 2006-12-02 23:02:34 +00:00
Bill Currie
8770df39e5 start documenting things (progs building still borked)
This is an imperfect revision of history.
2004-11-08 23:27:00 +00:00
Bill Currie
9a5cce7c14 hash.h: update the description of FindList quakefs.c: didn't need va there
This is an imperfect revision of history.
2004-11-02 07:39:00 +00:00
Bill Currie
893d3ec290 hash.[ch]:
add Hash_NumElements to get the number of elements in the hash table
qfplist.[ch]:
	add PL_A_NumObjects and PL_D_NumKeys, to get the number of objects or
	number of keys in the array or dictionary, respectively
2004-02-07 07:47:23 +00:00
Bill Currie
ef4ca0c798 some doxygen tweaks 2003-08-31 05:24:24 +00:00
Bill Currie
0985c90ce9 hash.h:
write some docs on mixing (eg) Hash_Add and Hash_DelElement
sv_user.c:
	fix a warning
2003-04-28 16:04:22 +00:00
Bill Currie
6805d479f3 improve Hash_Free's docs 2003-02-21 02:37:44 +00:00
Bill Currie
fd5695eb03 hash.[ch]:
add Hash_Free to ease freeing of hash table entries.
quakefs.c:
	beginnings of proper variable subtitution in qfs. not yet working but
	it compiles.
2003-01-27 18:16:15 +00:00
Bill Currie
b345f510fa provide Hash_Buffer so buffers can be hashed 2002-10-20 03:30:22 +00:00
Bill Currie
9134e05aec return lists of multiple matching elements 2002-05-30 21:56:57 +00:00
Bill Currie
e4fd746f71 this adds some stats to hash tables and a command to get at them for commands
and aliases
2001-11-10 01:13:29 +00:00
Bill Currie
40d0490b7c add Hash_GetList to get a list of elements in the hash table (unsorted) 2001-10-02 23:17:25 +00:00
Bill Currie
9ee3450265 extend the hash api to more easily support general cases 2001-08-16 02:51:53 +00:00
Bill Currie
6cda415f06 slight api change: Hash_Del now returns a pointer to the element deleted, or
null if the element was not found, rather than 0 and -1 respectively.
2001-07-06 17:43:47 +00:00
Bill Currie
3a94567913 Make Hash_FlushTable loop safe and correct the copyright notices 2001-06-19 02:01:18 +00:00
Bill Currie
f4969d5d67 add some docs for the hash table api and move the include of stdlib.h to
hash.c (no longer needed in hash.h).
2001-06-11 19:37:25 +00:00
Bill Currie
75fbb80b96 make the hash table types opaque 2001-06-11 19:17:40 +00:00
Bill Currie
e339e82c01 hash.h is now const correct as is a lot of qfcc 2001-06-04 04:52:14 +00:00
Bill Currie
581d6bc721 ZERO_LENGTH_ARRAY causes problems for external progs, so just go to 1 2001-04-01 02:09:48 +00:00
Bill Currie
f78b973978 move the api headers into include/QF and clean up (most of) the resulting mess.
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.

Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00
Renamed from include/hash.h (Browse further)