Содержание курса
1. Концепции и требования
8 уроков
99
55
66м
9
Закрытый
1.1
Общие понятия
↗
26
12
12м 1с
1
Закрытый
1.2
Категории итераторов
↗
15
8
21м 41с
1
Закрытый
1.3
Связанные концепции
↗
13
8
28м 19с
1
Закрытый
1.4
Cвязанные типы
↗
11
6
0м 26с
1
Закрытый
1.5
Концепции диапазонов
↗
10
6
5м 56с
1
Закрытый
1.6
Концепции алгоритмов
↗
9
6
-
1
Закрытый
1.7
Требования к функциям и предикатам
↗
8
5
-
1
Закрытый
1.8
Примеры и вопросы
↗
7
4
-
2
2. Работа с последовательностями по-новому
5 уроков
19
18
0м
0
Закрытый
2.1
Почему std::ranges появился
↗
6
6
-
0
Закрытый
2.2
Первые алгоритмы
↗
4
4
-
0
Закрытый
2.3
Проекции
↗
3
3
-
0
Закрытый
2.4
Категории алгоритмов - обзор
↗
3
3
-
0
Закрытый
2.5
Контрольные задания
↗
3
2
-
0
3. Алгоритмы std::ranges::*
12 уроков
63
49
4м
12
Закрытый
3.1
Базовые алгоритмы
↗
10
5
4м 59с
1
Закрытый
3.2
Обход
↗
6
4
-
1
Закрытый
3.3
Поиск и проверка условий
↗
5
4
-
1
Закрытый
3.4
Копирование и перемещение
↗
5
4
-
1
Закрытый
3.5
Модификация in-place
↗
6
4
-
1
Закрытый
3.6
Сортировка и упорядочивание
↗
4
4
-
1
Закрытый
3.7
Уникальность и сравнение
↗
5
4
-
1
Закрытый
3.8
Слияние и объединение
↗
4
4
-
1
Закрытый
3.9
Перестановки и вращения
↗
5
4
-
1
Закрытый
3.10
Диапазоны и границы
↗
4
4
-
1
Закрытый
3.11
Алгоритмы для работы с кучей
↗
5
4
-
1
Закрытый
3.12
Контрольные вопросы и задачи
↗
4
4
-
1
4. Концепты: от проблемы к модели
7 уроков
24
22
0м
0
Закрытый
4.1
Проблема неограниченных шаблонов
↗
3
3
-
0
Закрытый
4.2
Что такое concept
↗
3
3
-
0
Закрытый
4.3
Требования к выражениям
↗
4
4
-
0
Закрытый
4.4
Связанные типы и traits
↗
4
4
-
0
Закрытый
4.5
Категории итераторов через концепты
↗
4
4
-
0
Закрытый
4.6
Ограничения алгоритмов STL
↗
3
3
-
0
Закрытый
4.7
Контрольные задания
↗
3
1
-
0
5. Категории значений и время жизни
6 уроков
10
9
0м
0
Закрытый
5.1
lvalue / xvalue / prvalue
↗
1
1
-
0
Закрытый
5.2
Пересылка и свертывание ссылок
↗
2
2
-
0
Закрытый
5.3
Время жизни в ranges
↗
2
2
-
0
Закрытый
5.4
borrowed_range
↗
2
2
-
0
Закрытый
5.5
Возвращаемые типы алгоритмов
↗
1
1
-
0
Закрытый
5.6
Контрольные задания
↗
2
1
-
0
6. std::views::*
14 уроков
65
53
0м
14
Закрытый
6.1
Что такое views
↗
6
4
-
1
Закрытый
6.2
Архитектура views
↗
5
4
-
1
Закрытый
6.3
Обзор ключевых views
↗
5
4
-
1
Закрытый
6.4
Трансформации и фильтрации
↗
5
4
-
1
Закрытый
6.5
Агрегации и комбинирование
↗
5
4
-
1
Закрытый
6.6
Устройство и поведение
↗
5
4
-
1
Закрытый
6.7
Новые views в C++23
↗
5
5
-
1
Закрытый
6.8
Композиция views в цепочке
↗
5
4
-
1
Закрытый
6.9
Примеры из практики
↗
4
3
-
1
Закрытый
6.10
Как устроены views внутри
↗
4
3
-
1
Закрытый
6.11
Производительность
↗
4
3
-
1
Закрытый
6.12
Интеграция views с концептами и requires
↗
4
4
-
1
Закрытый
6.13
std::ranges::to
↗
4
3
-
1
Закрытый
6.14
Контрольные вопросы и задачи
↗
4
4
-
1
7. Модель Range
5 уроков
4
2
0м
0
Закрытый
7.1
begin/end и sentinel
↗
1
1
-
0
Закрытый
7.2
Range-концепции
↗
1
1
-
0
Закрытый
7.3
Дополнительные свойства
↗
0
0
-
0
Закрытый
7.4
subrange
↗
0
0
-
0
Закрытый
7.5
Контрольные задания
↗
2
0
-
0
8. Обратная связь
1 урок
6
6
0м
2
Закрытый
8.1
Обратная связь
↗
6
6
-
2
9. Views как ленивые адаптеры
7 уроков
3
1
0м
0
Закрытый
9.1
Что такое view
↗
1
1
-
0
Закрытый
9.2
Базовые views
↗
0
0
-
0
Закрытый
9.3
Композиция
↗
0
0
-
0
Закрытый
9.4
Views C++23
↗
0
0
-
0
Закрытый
9.5
ranges::to и материализация
↗
0
0
-
0
Закрытый
9.6
Производительность
↗
0
0
-
0
Закрытый
9.7
Контрольные задания
↗
2
0
-
0
10. Алгоритмы std::ranges
8 уроков
1
0
0м
0
Закрытый
10.1
Поиск и проверки
↗
0
0
-
0
Закрытый
10.2
Копирование и трансформации
↗
0
0
-
0
Закрытый
10.3
Модификация
↗
0
0
-
0
Закрытый
10.4
Сортировка и порядок
↗
0
0
-
0
Закрытый
10.5
Heap
↗
0
0
-
0
Закрытый
10.6
Слияние и множества
↗
0
0
-
0
Закрытый
10.7
Numeric
↗
0
0
-
0
Закрытый
10.8
Контрольные задания
↗
1
0
-
0
11. Архитектура стандартной библиотеки
6 уроков
1
0
0м
0
Закрытый
11.1
CPO
↗
0
0
-
0
Закрытый
11.2
Как работает pipe-оператор
↗
0
0
-
0
Закрытый
11.3
Как устроен filter_view
↗
0
0
-
0
Закрытый
11.4
Как реализовать свой view
↗
0
0
-
0
Закрытый
11.5
Диагностика сложных ошибок
↗
0
0
-
0
Закрытый
11.6
Контрольные задания
↗
1
0
-
0
12. Архитектурное применение
3 урока
1
1
0м
0
Закрытый
12.1
Переписывание legacy-кода
↗
1
1
-
0
Закрытый
12.2
DSL для обработки данных
↗
0
0
-
0
Закрытый
12.3
Антипаттерны
↗
0
0
-
0
13. Итоговый тест
2 урока
11
8
0м
2
Закрытый
13.1
Вопросы
↗
4
4
-
1
Закрытый
13.2
Задачи
↗
7
4
-
1
14. Больше практики
1 урок
1
1
0м
0
Закрытый
14.1
↗
1
1
-
0