title: std::multimap equal _range and C++20 std::views::values do not work nicely together
body: <p>I have the following code, it works, but C++20 version does not look much better than C++17 version. My guess issue is that <code>multimap</code> <code>equal_range</code> returns a <code>pair</code> and ranges can not figure out that is a pair of valid iterators.</p>
  <p>Is there a way to write this in a shorter nicer way?</p>
  <pre><code>#include &lt;iostream&gt;
  #include &lt;map&gt;
  #include &lt;ranges&gt;
  
  int main() {
      std::multimap&lt;bool,int&gt; oddness{{false,2}, {true,3}, {true,47}, {false,74656}};
      // nice, does not work:
      // oddness.equal_range(true) | std::views::values;
      // works:
      oddness | std::views::values;
  
      // working code:
      auto odds = oddness.equal_range(true);
      const auto odds_view = std::views::values(std::ranges::subrange(odds.first, odds.second));
      for (const auto&amp; odd : odds_view) {
          std::cout &lt;&lt; odd &lt;&lt; std::endl;
      }
  }
  </code></pre>