diff options
author | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-08-30 00:01:15 +0300 |
---|---|---|
committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-08-30 00:01:15 +0300 |
commit | 20ce6fa81cd9f55dca3212699d5949f8ebe7d95b (patch) | |
tree | fdb89a8b290668ef61cc4747ac5236b817fdd686 /example_hashmap/old/conts.h | |
parent | 9a31a10d18ff5de50b4532a7f461ec97c5880d11 (diff) | |
download | ngc-20ce6fa81cd9f55dca3212699d5949f8ebe7d95b.tar.gz ngc-20ce6fa81cd9f55dca3212699d5949f8ebe7d95b.zip |
add hashmap example
+ Doesn't quite work yet because <type> expansion isn't implemented
yet
Diffstat (limited to 'example_hashmap/old/conts.h')
-rw-r--r-- | example_hashmap/old/conts.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/example_hashmap/old/conts.h b/example_hashmap/old/conts.h new file mode 100644 index 0000000..fb0094b --- /dev/null +++ b/example_hashmap/old/conts.h @@ -0,0 +1,14 @@ +#ifndef CONTS_H +#define CONTS_H + +#define CONTS_JOIN2(a, b) a##_##b +#define CONTS_JOIN(a, b) CONTS_JOIN2(a, b) + +#define CONTAINER_OF(ptr, type, member) \ + (type *)((char *)(ptr) - offsetof(type, member)) + +#define foreach(name, i, s)\ + for (CONTS_JOIN(name, iter) i = CONTS_JOIN(name, begin)(s);\ + !CONTS_JOIN(name, end)(s, i);\ + i = CONTS_JOIN(name, next)(i)) +#endif /* CONTS_H */ |