id summary reporter owner description type status milestone component version severity resolution keywords cc 12158 boost::size() and friends should use an ADL barrier like boost::begin Tavian Barnes Neil Groves "boost::begin() and boost::end() are nicely declared in an ADL barrier namespace to avoid conflicts with code like this: {{{ using std::begin; auto i = begin(c); }}} [http://isocpp.org/files/papers/n4280.pdf N4280] has been accepted into C++17, which adds std::size, std::empty, and std::data. But if users attempt to use those in the same way: {{{ using std::size; auto s = size(c); }}} They may get an error. For example, if c is a std::vector> or something, boost::size() will be found by ADL, and since it's no more specific than std::size, the call will be ambiguous." Feature Requests assigned To Be Determined range Boost 1.60.0 Problem