Предположим, у меня есть несколько кортежей, например. поступает из функции zip. Должны ли функции, которые работают с этим диапазоном, всегда быть унарными, или существует какое-то преобразование, которое распаковывает кортеж в аргументы функции. По сути, я хотел бы сделать следующее:
auto r1 = {1, 2, 3, 4};
auto r2 = {'a', 'b', 'c', 'd'};
auto chars = view::zip(r1, r2) | view::transform([](int a, char x) { return x; });
вместо явного использования std :: tie или std :: apply.
r1
иr2
не являются кортежами. Этоstd::initializer_list<int>
иstd::initializer_list<char>
соответственно. - person NathanOliver   schedule 01.02.2019