Здравствуйте, andyp, Вы писали:
df>>С этим диапазоном сделать мы ничего не сможем, т.к. адаптер будет применяться к временному объекту (коряво, но идея, думаю, понятна). А как бы все-таки обмануть? Без того, чтобы предварительно сохранять результат GetData()?
A>Сохранить результат в другой контейнер с нужным временем жизни?
A>A>vector<int> GetData()
A>{
A> return { 1,2,3,4,5,6,7,8,9 };
A>}
A>std::vector<int> doubled;
A>boost::push_back(doubled, GetData() | boost::adaptors::transformed([](auto& i) {return i * 2; }));
A>
в итоге так и сделал. Городить ничего не стал. Смысла нет. Просто подумал вдруг это уже как-то решено (типа обертка какая есть), а я не знаю.