Skip to content

haiziyan/HashMap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HashMap Build Status Coverage Status

Basic Hash Map Implementation in C++

Usage

Example

Define a hash function by overloading operator() for integer typed key

struct MyKeyHash {
	unsigned long operator()(const int& key) const
	{
		return key % 10;
    	}
};

Declare a hash map with integer typed key and string type value pair

size_t tableSize = 10;
HashMap<int, string, tableSize, MyKeyHash> hmap;

Put a key-value pair into the hashmap

hmap.put(1, "1");

Get the value by key; returns true if successful with value updated

string value;
bool result = hmap.get(2, value);

Build

This is a header only library, so no compile step is required. To use the functionality below however, you must use cmake to generate the makefiles.

mkdir build
cd build
cmake ..

Install

make install

(Optional) You can also create packages in the build directory. See cpack for details, here is an example for ubuntu.

cpack -G DEB
sudo dpkg -i *.deb

Test

From build directory, run tests:

make test

You can also check the test coverage:

make coverage

License

Licensed under the Apache 2.0 license.

About

Basic HashMap (Hash Table) Implementation in C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.6%
  • CMake 26.5%
  • Shell 3.9%