
29 Jul
2009
29 Jul
'09
11:28 a.m.
Mathias Gaunard wrote:
The only fundamental thing that would change behavior is boost::end, since it could potentially return a different type, but it being convertible should be enough not to break compatibility.
Actually no, my bad, it doesn't work. template<typename Iterator> void do_something(Iterator begin, Iterator end); do_something(begin(range), end(range)); would fail. boost::end must remain conservative, while boost::real_end (for lack of a better name) can return a different type.