Здравствуйте, andyp, Вы писали:
A>Все так, но судя по всему (тут вангую) ТС именно этого и хотел избежать. Можно ж было просто
A>A>const std::vector<int>& data = GetData();
A>//тут строим нужный пайплайн из вьюшек
A>
A>сделать.
Именно так.
Причем хотелось _бы_ именно _готовое_ решение. Потому как понятно, что _руками_ красоту можно навести. Т.е. вполне можно было бы написать такой враппер:
auto r = GetData() | holder | boost::adaptors::transformed([](auto& i) {return i * 2; })
выглядит нормально имхо. Но суть от этого не меняется (причем в идеале holder должен уметь отличать rvalue от lvalue).
Как мне кажется, делать такое _самому_ лишено большого смысла. А вот если бы было готовое в рамках того же буста, к примеру, то почему бы не воспользоваться.