This hashmap implementation is meant to be as simple as possible, while still working with arbitrary types for both keys and values. To keep it as simple and versatile as possible, it only manages memory for itself, and not for the keys and values it stores.
Available functions can be seen in the header, while an example of usage can be
seen in example.c
.