SkillAgentSearch skills...

Emhashmap

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

Install / Use

/learn @openxc/Emhashmap
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

Related Skills

View on GitHub
GitHub Stars21
CategoryDevelopment
Updated1y ago
Forks7

Languages

C

Security Score

75/100

Audited on Jul 15, 2024

No findings