Re:Show HN: A portable hash map in C
by zabzonk on Sunday December 08, 2024 @04:42PM
(#42360829)
Have functions with different names and different numbers of parameters?
[ Parent
| on HN ]
And then have a union between the two different kinds of pointers, and a tag to tell which one is in use, then test that tag everywhere? Why? What good does it bring for that extra complexity?
Doesn't the name of the function select for the types and use of the parameters? But I haven't written in C for a long time, and this I think could be done more clearly in C++.
You're saying you would write the entire hash table four times, with everything duplicated and no reuse? Again: Why? What do you gain compared to one line to suppress a warning?
Clarity? And in C++ at least, I would re-write the functions.
The point is that you can pass any of the hash functions (or your own compatible) to the datastructure, so it'll obviously call of them with the same set of parameters. And hash functions that need all of them will ignore them.