[all-commits] [llvm/llvm-project] 1055cb: [libc++] Deprecate std::iterator and remove it as ...

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu May 27 08:32:39 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1055cb91b48280da0c42c5287b227cfdaae633b2
      https://github.com/llvm/llvm-project/commit/1055cb91b48280da0c42c5287b227cfdaae633b2
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2021-05-27 (Thu, 27 May 2021)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/iterator
    M libcxx/include/memory
    M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
    A libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
    R libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.pass.cpp
    A libcxx/test/std/iterators/iterator.primitives/iterator.basic/deprecated.verify.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp
    M libcxx/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
    M libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/proxy.pass.cpp
    M libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
    M libcxx/test/std/iterators/stream.iterators/ostream.iterator/types.pass.cpp
    M libcxx/test/std/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp
    A libcxx/test/std/utilities/memory/storage.iterator/types.compile.pass.cpp

  Log Message:
  -----------
  [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




More information about the All-commits mailing list