Техническое задание
Нужно реализовать структуру данных с интерфейсом insert, remove, get (как у коллекции Map), а также добавить поддержку версионирования (вспомни git) со следующим интерфейсом:
Checkpoint - сохранить текущую версию; Rollback - откатить на определенную версию; Prune - забыть все версии кроме последней.
Нельзя использовать сторонние библиотеки, только std, запись на диск не требуется Рекомендованное время выполнения - не более 4х часов.