Generic C Hash Map for Embedded Systems
This library is an implementation of a hash map in C that maps integers to void pointers. The map is initialized with a fixed size and load factor, and memory is allocated on the heap all at once. There are no dependencies besides the BSD queue.h, which is included in most systems by default.
Compiling
$ make
Test Suite
Dependencies
- check
This library has a test suite built with the check
C library. Run the tests
like so:
$ make test
Examples
#include "emhashmap.h"
#define MAX_CAPACITY 64
HashMap map = emhashmap_create(64);
int key = 42;
char* value = "foo";
emhashmap_put(&map, key, (void*)value);
bool contains = emhashmap_contains(list, key);
// contains == true
int size = emhashmap_size(&map);
// size == 1
emhashmap_remove(&map, key);
emhashmap_is_empty(&map);
// == true
emhashmap_destroy(&map);
License
This library is licensed under the BSD license and is Copyright 2014, Ford Motor Company
Contributors
- Chris Peplin, cpeplin@ford.com