Сообщение Re: boost::adaptors для временного объекта от 15.10.2016 20:10
Изменено 15.10.2016 20:11 Evgeny.Panasyuk
Здравствуйте, df, Вы писали:
df>А как бы все-таки обмануть? Без того, чтобы предварительно сохранять результат GetData()?
Придётся либо использовать только в рамках выражения (в котором живёт временная переменная), либо сохранять. Можно сохранить сделать обёртку, которая внутри будет хранить и исходный контейнер, и адапторы (либо уже адаптированный range), и сама обёртка при этом будет является range. То есть примерно:
df>А как бы все-таки обмануть? Без того, чтобы предварительно сохранять результат GetData()?
Придётся либо использовать только в рамках выражения (в котором живёт временная переменная), либо сохранять. Можно сохранить сделать обёртку, которая внутри будет хранить и исходный контейнер, и адапторы (либо уже адаптированный range), и сама обёртка при этом будет является range. То есть примерно:
auto doubled = wrapper_owner(GetData(), transformed(_1 * 2));Здравствуйте, df, Вы писали:
df>А как бы все-таки обмануть? Без того, чтобы предварительно сохранять результат GetData()?
Придётся либо использовать только в рамках выражения (в котором живёт временная переменная), либо сохранять. Можно сделать обёртку, которая внутри будет хранить и исходный контейнер, и адаптеры (либо уже адаптированный range), и сама обёртка при этом будет является range. То есть примерно:
df>А как бы все-таки обмануть? Без того, чтобы предварительно сохранять результат GetData()?
Придётся либо использовать только в рамках выражения (в котором живёт временная переменная), либо сохранять. Можно сделать обёртку, которая внутри будет хранить и исходный контейнер, и адаптеры (либо уже адаптированный range), и сама обёртка при этом будет является range. То есть примерно:
auto doubled = wrapper_owner(GetData(), transformed(_1 * 2));