[libcxx-commits] [libcxx] [libc++] Make common_iterator's data member private (PR #72564)
via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Nov 16 12:16:59 PST 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Louis Dionne (ldionne)
<details>
<summary>Changes</summary>
Fixes #<!-- -->71498
---
Full diff: https://github.com/llvm/llvm-project/pull/72564.diff
1 Files Affected:
- (modified) libcxx/include/__iterator/common_iterator.h (+4-1)
``````````diff
diff --git a/libcxx/include/__iterator/common_iterator.h b/libcxx/include/__iterator/common_iterator.h
index 95e248d83f4b460..7750cf0f7638d6b 100644
--- a/libcxx/include/__iterator/common_iterator.h
+++ b/libcxx/include/__iterator/common_iterator.h
@@ -63,9 +63,12 @@ class common_iterator {
iter_value_t<_Iter> __value_;
};
-public:
variant<_Iter, _Sent> __hold_;
+ template<input_or_output_iterator _OtherIter, sentinel_for<_Iter> _OtherSent>
+ requires (!same_as<_OtherIter, _OtherSent> && copyable<_OtherIter>)
+ friend class common_iterator;
+public:
_LIBCPP_HIDE_FROM_ABI common_iterator() requires default_initializable<_Iter> = default;
_LIBCPP_HIDE_FROM_ABI constexpr common_iterator(_Iter __i) : __hold_(in_place_type<_Iter>, _VSTD::move(__i)) {}
``````````
</details>
https://github.com/llvm/llvm-project/pull/72564
More information about the libcxx-commits
mailing list