[libcxx-commits] [libcxx] [libc++] P2770R0: "Stashing stashing iterators for proper flattening" (PR #66033)

Jakub Mazurkiewicz via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 27 08:31:55 PST 2023


================
@@ -209,21 +215,24 @@ namespace ranges {
 
     static constexpr bool __ref_is_glvalue = is_reference_v<range_reference_t<_Base>>;
 
+    static constexpr bool _OuterPresent = forward_range<_Base>;
+    using _OuterType                    = _If<_OuterPresent, _Outer, std::__empty>;
----------------
JMazurkiewicz wrote:

`_Outer` is not really a cache (but `iterator_t<_Base>`), so I think that `std::__empty` is a better choice here. 

https://github.com/llvm/llvm-project/pull/66033


More information about the libcxx-commits mailing list