Opened 6 years ago

Last modified 5 years ago

#12546 new Bugs

Using lambda in transformed or filtered adaptors result in non assignable iterator

Reported by: Jean-Philippe DUFRAIGNE <j.dufraigne@…> Owned by: Neil Groves
Milestone: To Be Determined Component: range
Version: Boost 1.61.0 Severity: Problem
Keywords: Cc:

Description

Hi,

boost::range::adaptor is a great fit for lambda, but since they have their assignment operator (as well as default constructor) deleted, transform iterator and filter iterator cannot be re-assigned which can make it more difficult to work with.

transformed and filtered adaptors booth work around the non default constructible, would it make sense to handle the non assignable case as well?

This pull request describe the problem through test, and a potential fix. https://github.com/boostorg/range/pull/46

Kind regards, Jean-Philippe.

Change History (1)

comment:1 by anonymous, 5 years ago

clang 3.4 seems to be affected; clang 3.8 and GCC 4.8, 6.3, 7.1 and 8 are unaffected.

Note: See TracTickets for help on using tickets.