cpprefjp の std::pair の項目を下書きしてて気がついたんですが、
いつの間にか std::pair
std::multimap<int, std::string> m = { { 0, "hoge" }, { 1, "fuga" }, { 1, "piyo" }, { 2, "foo" }, }; // equal_range のような イテレータ対を返すような関数は、 // std::pair<Iter, Iter> が range access に対応していた為、 for( auto& x : m.equal_range(1) ) // のように範囲 for で書けた筈なのに、 { auto const& key = x.first; auto& value = x.second; // ... } // 規格を見たら、何処にも std::pair<Iter, Iter> に対する begin, end が無い // std::tuple<Iter, Iter> についても同様に無くなっている
どうやら N3126 で削除されたようです。