Re[8]: boost::adaptors для временного объекта
От: df Россия  
Дата: 18.10.16 11:03
Оценка:
Здравствуйте, andyp, Вы писали:


df>>Причем хотелось _бы_ именно _готовое_ решение. Потому как понятно, что _руками_ красоту можно навести. Т.е. вполне можно было бы написать такой враппер:

df>>
df>>auto r = GetData() | holder | boost::adaptors::transformed([](auto& i) {return i * 2; })
df>>

df>>если бы было готовое в рамках того же буста, к примеру, то почему бы не воспользоваться.

A>На сколько понял, по факту тебе требуется нечто типа позднего связывания range и последовательности, чтобы иметь возможность определить алгоритм обработки элементов диапазона заранее, а затем в месте вызова связать его с контейнером или другим range. Не уверен, что требуемый адаптер существует в boost.


Скорее применение адаптеров к rvalue.
Основной смысл вопроса был в том существует-ли что-либо готовое. Нет, понятно.
А все остальное, повторюсь, "овчинка выделки не стоит". Ну или академический интерес (тоже хорошо).
Вы правильно сказали, писать враппер только для того, чтобы скрыть в нем холдер (вектор)... не уверен.


A>
A>auto r = make_unbound_range() | boost::adaptors::transformed([](auto& i) {return i * 2; });

A>std::vector<int> doubled;
A>boost::push_back(doubled, r | bind_range(getData()));

A>


A>Можно ли это прикрутить малой кровью, я не знаю Может Евгений что скажет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.