Finish rewriting Set/Table/Vector
[satune.git] / src / structs.h
1 #ifndef STRUCTS_H
2 #define STRUCTS_H
3 #include "vector.h"
4 #include "hashtable.h"
5 #include "hashset.h"
6 #include "classlist.h"
7
8 VectorDef(Int, uint64_t, 4);
9 VectorDef(Boolean, Boolean *, 4);
10 VectorDef(Void, void *, 4);
11
12 inline unsigned int Ptr_hash_function(void * hash) {
13         return (unsigned int)((uint64_t)hash >> 4);
14 }
15
16 inline bool Ptr_equals(void * key1, void * key2) {
17         return key1 == key2;
18 }
19
20 HashTableDef(Void, void *, void *, Ptr_hash_function, Ptr_equals);
21 HashSetDef(Void, void *, Ptr_hash_function, Ptr_equals);
22 #endif