Skip to content

openxc/emhashmap

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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