Comments (1)
Hi @pseregiet we could certainly accomplish what you are asking, but it would be at the cost of type safety. All the macros in hashmap.h
perform a cast or assignment in order to allow the compiler to type check. While it is likely that free()
will be used, we cannot presume that it will always be used. Thus, we have the choice of forcing the key free function to be void (*)(void *)
(potentially breaking code that uses void (*)(key_type *)
), or we accept any function pointer and cast it, which may result in crashes if an incompatible pointer is passed in. Neither sound particularly appealing.
My recommendation, would be to define a trivial function to wrap free()
for your key type. E.g.
void free_key(char *key)
{
free(key);
}
from hashmap.
Related Issues (15)
- Is this hashmap thread-safe? HOT 1
- A way to use a pointer as key? without compiler warnings HOT 2
- modifying key interface requirements HOT 4
- table pointer is NULL HOT 8
- global hashmap can't be seen outside of where it's declared HOT 6
- Suggestion: Consider add this library to clib https://github.com/clibs/clib? HOT 4
- Traversal error while adding HOT 1
- Add save and load from file HOT 1
- Multiple errors with typeof HOT 1
- -Wdiscarded-qualifiers at hahsmap.h:29:16 HOT 2
- Incompatibility with the c2x standard
- Random iteration? HOT 1
- Declaration of non-local variable in 'for' loop HOT 5
- How to build in nodebug mode HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hashmap.