title: std::ranges::take_while_view cannot pipe
body: <pre><code>auto int_v10 = std::vector{8,7,3};
  //fail    auto rng2 = int_v10 | std::ranges::take_while_view([](int x) {return x&gt; 5;} ) | std::ranges::views::common;
  auto rng2 = int_v10 | std::ranges::views::take_while([](int x) {return x&gt; 5;} ) | std::ranges::views::common;
  auto result4 = std::accumulate(rng2.begin(), rng2.end(),0);
  
  std::cout&lt;&lt;&quot;Result4: &quot;&lt;&lt;result4&lt;&lt;'\n';
  </code></pre>
  <p><a href="https://en.cppreference.com/w/cpp/ranges/take_while_view" rel="nofollow noreferrer">https://en.cppreference.com/w/cpp/ranges/take_while_view</a><br />
  Why <code>std::ranges::take_while_view</code> result cannot pipe to next code block.
  and <code>std::ranges::views::take_while</code> can?</p>