Closed apolukhin closed 3 years ago
Andrey Davydov, 12 декабря 2018, 20:31 Вот же ж круто! А зачем?
Олег Фатхиев, 12 декабря 2018, 22:48 Andrey Davydov, бывает нужно пройтись по таплу как по гетерогенному контейнеру. Если представлять, что tuple - это контейнер, то можно считать, что visit - это своеобразный for_each для тапла
Andrey Davydov, 12 декабря 2018, 23:59 Олег Фатхиев, это скорее transform а не for_each (в Boost.Hana так и называется), но я спрашивал, о каком-нибудь конкретном мотивирующем примере, потому что с tuple можно делать много разного (что и демонстрирует Boost.Hana) и не очень понятно, почему стандартизировать надо именно transform?
Дубликат #139
Перенос предложения: голоса +5, -1 Автор идеи: Олег Фатхиев
Предлагается добавить следующую функцию:
Где тип возвращаемого значения - это std::tuple со следующими подтипами:
Для i от 0 до std::tuple_size_v<std::remove_cvref> - 1.
Пример:
Такое visit также удобно использовать с предлагаемым overloaded.
Возможная реализация:
Из-за сложности работы с функцие в случае, если visiter имеет void в качестве возвращаемого значения для какого-то из типов, возможно, будет лучше добавить следующую функцию:
Возможная реализация: