C++ Custom Iterator HashSet - std::unordered_set Functionality

Problem / Motivation

To deepen my understanding of C++ containers, memory management, and iterator design, I challenged myself to build a fully functional HashSet implementation that mimics the behavior of std::unordered_set. Rather than relying on built-in STL containers, I implemented custom bucket management, separate chaining with linked lists, and a fully STL-compliant iterator class.

This project strengthened my skills in dynamic memory management, iterator categories, rehashing, and constant-time complexity analysis, while also preparing me for real-world systems programming challenges where understanding how data structures behave under the hood is critical.

System Architecture

Key Technical Challenges

Future Work & Expansion

Technologies Used

C++, Custom Data Structures, Linked Lists, STL Iterators, Memory Management, RAII, Hash Tables, Separate Chaining, Unit Testing

🔗 View GitHub Repository