28 Aug
2014
28 Aug
'14
1:18 p.m.
On Thu, Aug 28, 2014 at 2:32 AM, Michel Morin
As per DR1442 (for C++11), the rule of range-based-for has been changed. ( http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1442 )
The new rule does not add namespace `std` as an associated namespace. So `begin` and `end` should be defined as either
- member functions, or - as free functions in the enclosing namespaces (e.g. `boost::coroutines`).
Recent gcc and clang implemented the new rule.
Please correct me if I'm wrong -- but if Oliver makes such a change unconditionally, won't Boost.Coroutine's range-based-for support break on older compilers? How do other Boost libraries accommodate this change? Are there already canonical Boost workaround macros?