Although libc++ doesn't yet implement this change, these tests should expect the difference type of std::ostream_iterator and std::ostreambuf_iterator specializations to be std::ptrdiff_t instead of void when testing C++ versions greater than 17 if the library under test is not libc++.
Details
Details
- Reviewers
mclow.lists EricWF CaseyCarter - Group Reviewers
Restricted Project - Commits
- rG71a16e40f78a: [libcxx] ostream{,buf}_iterator::difference_type changes in C++20
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
P0896R4 "The One Ranges Proposal" - Ranges demands that all iterators have useful difference types.
Comment Actions
Ah, I see it. I'll add that bit to libc++ so we don't need special casing in the tests.
Comment Actions
Ah, I see it. I'll add that bit to libc++ so we don't need special casing in the tests.
Feel free to steal this for your test changes. Shall I close this differential then?
Comment Actions
LGTM! (You should say "Partially implements P0896R4" in the commit log =))
libcxx/include/iterator | ||
---|---|---|
1052 | std::iterator has been deprecated since C++17. Should this inheritance be dependent on _LIBCPP_STD_VER < 17? It's unnecessary now that the member types are defined directly. (Also on line 1161.) |
std::iterator has been deprecated since C++17. Should this inheritance be dependent on _LIBCPP_STD_VER < 17? It's unnecessary now that the member types are defined directly. (Also on line 1161.)