[libc++][ranges] Implement [special.mem.concepts].
authorKonstantin Varlamov <varconst@apple.com>
Fri, 3 Dec 2021 01:57:55 +0000 (17:57 -0800)
committerKonstantin Varlamov <varconst@apple.com>
Fri, 3 Dec 2021 01:58:04 +0000 (17:58 -0800)
commit2d9efcfeec2495e0e7da882d27f3ae0e261c3a24
tree7796275dc0a7057c10e9861385f88c1640b75566
parent4e24ca1cdc71b734d031f552738ea87baa887340
[libc++][ranges] Implement [special.mem.concepts].

Implement the exposition-only concepts specified in
`[special.mem.concepts]`. These are all thin wrappers over other
concepts.

Reviewed By: #libc, Quuxplusone, ldionne

Differential Revision: https://reviews.llvm.org/D114761
libcxx/docs/Status/RangesPaper.csv
libcxx/include/CMakeLists.txt
libcxx/include/__memory/concepts.h [new file with mode: 0644]
libcxx/include/memory
libcxx/include/module.modulemap
libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp [new file with mode: 0644]
libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_range.compile.pass.cpp [new file with mode: 0644]
libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp [new file with mode: 0644]
libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_range.compile.pass.cpp [new file with mode: 0644]
libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_sentinel_for.compile.pass.cpp [new file with mode: 0644]
libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.module.verify.cpp [new file with mode: 0644]