llvm-project/libcxx/test/std/iterators
Konstantin Varlamov 3f630cff65 [libc++][ranges] Implement ranges::uninitialized_default_construct{,_n}.
Defined in [`specialized.algorithms`](wg21.link/specialized.algorithms).

Also:
- refactor the existing non-range implementation so that most of it
  can be shared between the range-based and non-range-based algorithms;
- remove an existing test for the non-range version of
  `uninitialized_default_construct{,_n}` that likely triggered undefined
  behavior (it read the values of built-ins after default-initializing
  them, essentially reading uninitialized memory).

Reviewed By: #libc, Quuxplusone, ldionne

Differential Revision: https://reviews.llvm.org/D115315
2021-12-14 14:11:46 -08:00
..
iterator.container [libc++] Fix ssize test that made an assumption about ptrdiff_t being 'long' 2021-11-25 13:12:47 -05:00
iterator.primitives [libc++][ranges] Implement ranges::uninitialized_default_construct{,_n}. 2021-12-14 14:11:46 -08:00
iterator.range [libc++][test] Remove disable_missing_braces_warning.h from tests 2021-09-22 16:00:16 -04:00
iterator.requirements [libc++][test] Remove empty {ind.move.subsumption.compile.pass.cpp} 2021-10-09 17:20:19 -04:00
iterator.synopsis Support tests in freestanding 2019-02-04 20:31:13 +00:00
iterators.general [libc++] Remove useless nothing_to_do.pass.cpp tests 2020-04-03 13:48:34 -04:00
predef.iterators [libcxx] Implement three-way comparison for std::reverse_iterator 2021-11-26 10:12:19 +00:00
stream.iterators [libc++] Add an option to disable wide character support in libc++ 2021-10-12 06:08:23 -04:00