Олег Фатхиев - Эволюция метапрограммирования: как правильно работать со списками типов

  Рет қаралды 6,676

C++ User Group

C++ User Group

5 жыл бұрын

Ближайшая конференция: С++ Russia 2024, 24 мая (online), 2-3 июня (offline, Москва)
Подробности и билеты: jrg.su/W8skjE
- -
. . . Глубокий рассказ о метапрограммировании в ретроспективе. Обсудим общие подходы в метапрограммировании, а затем перейдём к спискам типов. По шагам напишем небольшую библиотеку для работы со списками типов, похожую на Boost.Hana. Для каждой проблемы рассмотрим несколько возможных решений: от использования устаревших, но не менее интересных подходов из C++98/03 до применения продвинутых техник из C++17 и даже немного из C++20.

Пікірлер: 15
@alex_s_ciframi
@alex_s_ciframi Жыл бұрын
44:21 (void)Is - нынче моДно записывать так :) std::ignore=Is;
@FantomX932
@FantomX932 4 жыл бұрын
super nice!
@timurtsotniashvili2311
@timurtsotniashvili2311 3 жыл бұрын
Очень хороший доклад! И Вы, Олег, младший разработчик? :))
@idiotsiuda
@idiotsiuda Жыл бұрын
10:18 Что значит "Так не надо делать."? Такая формулировка не применима в отношении списка типов, потому что на слайде изображен нормальный список типов и никак особо по-другому написать его нельзя. На следующем слайде код пака типов. Пак типов это не список типов. Возможно, имелось ввиду, что следует использовать пак типов вместо списка везде, где это возможно, но вместо этого пак типов обзывается списком, хотя это принципиально некорректно.
@pointless1978
@pointless1978 5 жыл бұрын
really nice.
@debugx1
@debugx1 5 жыл бұрын
Где можно презу скачать?
@user-zv9zr4xh8r
@user-zv9zr4xh8r 2 жыл бұрын
Visual Studio 2019 не может выбрать оператор сравнения если типы структур сверточные и при этом совпадают
@mangusta134
@mangusta134 3 жыл бұрын
методично и системно, очень понравилось
@MrDimonsky
@MrDimonsky 2 жыл бұрын
4:05 using type2 = typename foo
@faritavtakhov5115
@faritavtakhov5115 2 жыл бұрын
второй static_assert из find_if не сработает внутри шаблонной функции. typename part_caller::type упадет с ошибкой :) Это можно обойти? Не очень полезная библиотечка получается с такими ограничениями
@sergeyinozemcev1070
@sergeyinozemcev1070 3 жыл бұрын
А как можно связаться с Олегом? Почему то это выражение у меня не работает. Собираю в Visual Studio их компилятором.
@sergeyinozemcev1070
@sergeyinozemcev1070 3 жыл бұрын
Очень здорово! А можно еще продолжение с функциями min/max, sort, swap ?!
@idiotsiuda
@idiotsiuda Жыл бұрын
Что такое min/max для типов по-вашему?
@sergeyinozemcev1070
@sergeyinozemcev1070 Жыл бұрын
@@idiotsiuda Уже толком не помню о чем речь, но по идее min - минимальное значение из списка, max - максимальное.
@astmix1337
@astmix1337 2 жыл бұрын
generate best не будет работать, если нужно создать reference: generate()
Nicolai Josuttis - C++17 - the biggest traps
1:32:53
C++ User Group
Рет қаралды 3,7 М.
Антон Полухин - Незаменимый С++
53:03
C++ User Group
Рет қаралды 39 М.
Always be more smart #shorts
00:32
Jin and Hattie
Рет қаралды 44 МЛН
Неприятная Встреча На Мосту - Полярная звезда #shorts
00:59
Полярная звезда - Kuzey Yıldızı
Рет қаралды 7 МЛН
Haha😂 Power💪 #trending #funny #viral #shorts
00:18
Reaction Station TV
Рет қаралды 15 МЛН
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
Чего ожидать от HTTP/3 + Go
51:07
Нина Пакшина
Рет қаралды 876
Антон Полухин - C++ трюки из Такси
59:19
C++ User Group
Рет қаралды 15 М.
006.  Многопоточность в С++ - Максим Бусел
41:40
Yandex for Developers
Рет қаралды 18 М.
cute mini iphone
0:34
승비니 Seungbini
Рет қаралды 6 МЛН