LINUX.ORG.RU

История изменений

Исправление eao197, (текущая версия) :

Мы же говорили о том, что как сделать так, чтобы не пришлось менять код accumulate и код замыкания, но при этом итерация просто останавливалась на первой ошибке. Вот посредством такой обертки, но с потерей информации об ошибке.

Если же мы хотим чего-то другого, то придется менять сигнатуру замыкания, чтобы она получала какой-нибудь variant<T,exception_ptr>. Ну и сделать такую обертку над итераторами, чтобы operator* возвращал этот самый variant.

Исходная версия eao197, :

Мы же говорили о том, что как сделать так, чтобы не пришлось менять код accumulate и код замыкания, но при этом итерация просто останавливалась на первой ошибке. Вот посредством такой обертке, но с потерей информации об ошибке.

Если же мы хотим чего-то другого, то придется менять сигнатуру замыкания, чтобы она получала какой-нибудь variant<T,exception_ptr>. Ну и сделать такую обертку над итераторами, чтобы operator* возвращал этот самый variant.