Hi Sergey, Am Sonntag, 15. Juni 2014, 13:20:58 schrieb Sergey Mitsyn:
Hello, boost::copy forwards everything to std::copy with iterators that hold function objects by value. Iterator concept requires iterators to be default constructible, but if they hold function objects that have binded data they cannot be made such.
Well, the code itself is working great in 1.55.0 and before the aforementionend commits introducing concept checks. So Boost.Range already does the right things. It seems that only the new checks need some tweaking.
FWIW one of solutions to this problem is wrapping function object f with boost::regular(f), available here:
Thanks for the pointer, anyway. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany