Skip to content

Commit ca9b1d1

Browse files
authored
[libc++] Make common_iterator's data member private (#72564)
Fixes #71498
1 parent 907ed77 commit ca9b1d1

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

libcxx/include/__iterator/common_iterator.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,12 @@ class common_iterator {
6363
iter_value_t<_Iter> __value_;
6464
};
6565

66-
public:
6766
variant<_Iter, _Sent> __hold_;
67+
template<input_or_output_iterator _OtherIter, sentinel_for<_OtherIter> _OtherSent>
68+
requires (!same_as<_OtherIter, _OtherSent> && copyable<_OtherIter>)
69+
friend class common_iterator;
6870

71+
public:
6972
_LIBCPP_HIDE_FROM_ABI common_iterator() requires default_initializable<_Iter> = default;
7073

7174
_LIBCPP_HIDE_FROM_ABI constexpr common_iterator(_Iter __i) : __hold_(in_place_type<_Iter>, _VSTD::move(__i)) {}

0 commit comments

Comments
 (0)