Thread-safe hashmap shall be implemented in C++.
All concurrency features from C++11 and C++14 shall be used.
The size of the generic type hashmap shall be given at construction level. And the size of the Hashmap shall be fixed.
Global lock shall not be used for thread-safety. Multiple writers shall access one instance of the map at the same time.
Hashmap shall have insertion, deletion and find property.
STL containers shall not be used.
Unit Tests shall be written to check HashMap is working as expected.
Tests should cover all possible features and thread-safety property. (needs good coverage)
The documentation for the program and note for thread-safety approach shall be given.
The implementation shall be compiled on Linux and run on Linux operating system.
Any other open-source and generic libraries shall not be used. Only standard library shall be used.
If resizing feature is implemented, the approach and documentation to update the current Hashmap source-code should be given.
The clean code shall be written with enough comment lines.