This library is an implementation of a hash map in C that maps integers to void pointers
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests
.gitignore
.travis.yml
LICENSE
Makefile
README.mkd
emhashmap.c
emhashmap.h
runtests.sh

README.mkd

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