[libcxx-commits] [libcxx] [libc++] P2770R0: "Stashing stashing iterators for proper flattening" (PR #66033)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Nov 16 18:15: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>;
+
public:
- _Outer __outer_ = _Outer();
+ _LIBCPP_NO_UNIQUE_ADDRESS _OuterType __outer_ = _OuterType();
----------------
ldionne wrote:
Let's make this private. I suspect you will need `__get_outer()` to be public (or to do some befriending of a few classes, which would be preferable to making it public).
https://github.com/llvm/llvm-project/pull/66033
More information about the libcxx-commits
mailing list