C++98 STL containers reimplementation from scratch: vector, list, deque, map, set, stack, queue, priority_queue, unordered_map, unordered_set