Implement uniform container erasure for C++20.
authorEdward Smith-Rowland <3dw4rd@verizon.net>
Wed, 28 Nov 2018 16:44:25 +0000 (16:44 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Wed, 28 Nov 2018 16:44:25 +0000 (16:44 +0000)
commit188588e443008dd7795947db60b68571ed724fe3
tree96fe0d3f6fb7bc21979a5fdd0f037799009014d8
parentbd6ccc290a624a54f779054205cbfabb4e33a0aa
Implement uniform container erasure for C++20.

2018-11-28  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement uniform container erasure for C++20.
* include/Makefile.am: Move erase_if.h.
* include/Makefile.in: Move erase_if.h.
* include/experimental/bits/erase_if.h: Move ...
* include/bits/erase_if.h: ... here.
* include/experimental/map: Move erase_if.h.
* include/experimental/set: Move erase_if.h.
* include/experimental/unordered_map: Move erase_if.h.
* include/experimental/unordered_set: Move erase_if.h.
* include/std/deque (erase_if, erase): New functions.
* include/std/forward_list: Ditto.
* include/std/list: Ditto.
* include/std/map: Ditto.
* include/std/set: Ditto.
* include/std/string: Ditto.
* include/std/unordered_map: Ditto.
* include/std/unordered_set: Ditto.
* include/std/vector: Ditto.
* testsuite/21_strings/basic_string/erasure.cc: New test.
* testsuite/23_containers/deque/erasure.cc: New test.
* testsuite/23_containers/forward_list/erasure.cc: New test.
* testsuite/23_containers/list/erasure.cc: New test.
* testsuite/23_containers/map/erasure.cc: New test.
* testsuite/23_containers/set/erasure.cc: New test.
* testsuite/23_containers/unordered_map/erasure.cc: New test.
* testsuite/23_containers/unordered_set/erasure.cc: New test.
* testsuite/23_containers/vector/erasure.cc: New test.

From-SVN: r266567
27 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/erase_if.h [new file with mode: 0644]
libstdc++-v3/include/experimental/bits/erase_if.h [deleted file]
libstdc++-v3/include/experimental/map
libstdc++-v3/include/experimental/set
libstdc++-v3/include/experimental/unordered_map
libstdc++-v3/include/experimental/unordered_set
libstdc++-v3/include/std/deque
libstdc++-v3/include/std/forward_list
libstdc++-v3/include/std/list
libstdc++-v3/include/std/map
libstdc++-v3/include/std/set
libstdc++-v3/include/std/string
libstdc++-v3/include/std/unordered_map
libstdc++-v3/include/std/unordered_set
libstdc++-v3/include/std/vector
libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/deque/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/list/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/map/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/set/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/erasure.cc [new file with mode: 0644]