[libc++] Deprecate std::iterator and remove it as a base class
C++17 deprecated std::iterator and removed it as a base class for all
iterator adaptors. We implement that change, but we still provide a way
to inherit from std::iterator in the few cases where doing otherwise
would be an ABI break.
Supersedes D101729 and the std::iterator base parts of D103101 and D102657.
Differential Revision: https://reviews.llvm.org/D103171
NOKEYCHECK=True
GitOrigin-RevId: 1055cb91b48280da0c42c5287b227cfdaae633b2
diff --git a/include/memory b/include/memory
index 5d53ea5..7c3c92c 100644
--- a/include/memory
+++ b/include/memory
@@ -154,11 +154,7 @@
template <class OutputIterator, class T>
class raw_storage_iterator
- : public iterator<output_iterator_tag,
- T, // purposefully not C++03
- ptrdiff_t, // purposefully not C++03
- T*, // purposefully not C++03
- raw_storage_iterator&> // purposefully not C++03
+ : public iterator<output_iterator_tag, void, void, void, void> // until C++17
{
public:
explicit raw_storage_iterator(OutputIterator x);