[all-commits] [llvm/llvm-project] 754ea6: [libc++][ranges] Implement `uninitialized_value_co...

Konstantin Varlamov via All-commits all-commits at lists.llvm.org
Mon Dec 20 00:24:52 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 754ea6fd4d52f4699644a3c6dfc854a231c881c4
      https://github.com/llvm/llvm-project/commit/754ea6fd4d52f4699644a3c6dfc854a231c881c4
  Author: Konstantin Varlamov <varconst at apple.com>
  Date:   2021-12-20 (Mon, 20 Dec 2021)

  Changed paths:
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/docs/Status/RangesPaper.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    A libcxx/include/__memory/voidify.h
    M libcxx/include/memory
    M libcxx/include/module.modulemap
    A libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.module.verify.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/buffer.h
    A libcxx/test/std/utilities/memory/specialized.algorithms/counted.h
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Implement `uninitialized_value_construct{,_n}` and `uninitialized_fill{,_n}`.

Also:
- refactor out `__voidify`;
- use the `destroy` algorithm internally;
- refactor out helper classes used in tests for `uninitialized_*`
  algorithms.

Differential Revision: https://reviews.llvm.org/D115626




More information about the All-commits mailing list