Как склеить вектор векторов в один вектор с помощью transform_reduce?
#include <iostream>
#include <iterator>
#include <vector>
#include <numeric>
#include <string>
using namespace std;
int main() {
vector<vector<string>> vv = {
{"aaaaaa"s, "bbbbbb"s, "cccccc"s},
{"dddddd"s, "eeeeee"s, "ffffff"s, "jjjjjj"s}
};
vector<string> v;
// ...
copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));
return 0;
}
// Вывод:
// aaaaaa bbbbbb cccccc dddddd eeeeee ffffff jjjjjj
Нужно с помощью transform_reduce (или любого другого параллельного алгоритма, относящегося к концепции MapReduce), получить в стадии reduce один вектор строк из вектора векторов строк. Контейнер может быть любым, не обязательно вектор.
Размеры вложенных векторов могут отличаться.
Источник: Stack Overflow на русском