Skip to content

This library is an implementation of a hash map in C that maps integers to void pointers

License

Notifications You must be signed in to change notification settings

openxc/emhashmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

This library is an implementation of a hash map in C that maps integers to void pointers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published