РГР
Загрузка отчета
Курс в ЭИОС: https://eios.sibsutis.ru/course/view.php?id=2280
Кодовое слово: cpp-XX-YYY, где XX-YYY — группа. Например: cpp-IV-021
Цель
Реализовать шаблон класса для структуры данных в соответствии со своим вариантом. Реализовать итераторы, совместимые с алгоритмами стандартной библиотеки. Покрыть тестами.
Считаем, что вы полностью реализуете управление ресурсами, поэтому внутри классов не используйте контейнеры стандартной библиотеки.
Начните с проектирования интерфейса: какие операции должен поддерживать выбранный тип.
Репозиторий: https://classroom.github.com/a/3FQcgfFj
Вариантов немного, поэтому возможны повторы: не более двух человек на одном варианте в пределах группы. При этом работа остается индивидуальной.
Шаблон отчета
Шаблон подготовлен в LibreOffice и может некорректно отображаться в MS Office.
Для оформления используйте стили (Heading 2, Heading 3, First Line Indent, preformatted text и др., см. шаблон).
Выделенные фрагменты — точки кастомизации. После вписывания своего текста уберите выделение.
В списке источников указывайте все использованные материалы, в т.ч. ссылки на блоги, youtube, онлайн курсы и ответы на stackoverflow. Для управления списком источников и ссылками можете использовать Zotero.
Варианты
FlatMap
FlatSet
HashMap
HashSet
TreeMap
TreeSet
SmallVector — вектор с дополнительным параметром N (количество элементов, хранимых на стеке).
Graph
Matrix
Vector + COW
String + COW
StableVector — вектор со стабильными итераторами/указателями на элементы.
PackedVector — вектор, использующий для хранения одного элемента N заданных бит.
Возможные проблемы
Варианты сформулированы без подробных описаний. Вам нужно самостоятельно провести исследование: в чем особенности выбранной структуры данных и какой должен быть публичный интерфейс. Обычно такой процесс строится итеративно, с периодическими консультациями у преподавателя. Если вы впервые показываете работу в последний момент или после срока, могут появиться неожиданные замечания вплоть до полного несоответствия реализации ожиданиям. Это скажется на оценке, и времени на исправления не останется.