Pre-emptively support P0646R1 for std container erasure.
authorEdward Smith-Rowland <3dw4rd@verizon.net>
Fri, 30 Nov 2018 16:12:13 +0000 (16:12 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Fri, 30 Nov 2018 16:12:13 +0000 (16:12 +0000)
commit0b44b4b807a2d7bee4d2a0e4c37794db2aeeb44f
treef98bd7fce12f723b38ecedc523dcb4ccfc3763ec
parentef33afebf3351fe9f5032ebb735f4ec988e29f06
Pre-emptively support P0646R1 for std container erasure.

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

Pre-emptively support P0646R1 for std container erasure.
* include/bits/erase_if.h: Accumulate and return number of erased nodes.
* include/std/forward_list (): Return number of erased items.
* 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: Test number of erasures.
* testsuite/23_containers/deque/erasure.cc: Ditto.
* testsuite/23_containers/forward_list/erasure.cc: Ditto.
* testsuite/23_containers/list/erasure.cc: Ditto.
* testsuite/23_containers/map/erasure.cc: Ditto.
* testsuite/23_containers/set/erasure.cc: Ditto.
* testsuite/23_containers/unordered_map/erasure.cc: Ditto.
* testsuite/23_containers/unordered_set/erasure.cc: Ditto.
* testsuite/23_containers/vector/erasure.cc: Ditto.

From-SVN: r266672
19 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/erase_if.h
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
libstdc++-v3/testsuite/23_containers/deque/erasure.cc
libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
libstdc++-v3/testsuite/23_containers/list/erasure.cc
libstdc++-v3/testsuite/23_containers/map/erasure.cc
libstdc++-v3/testsuite/23_containers/set/erasure.cc
libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc
libstdc++-v3/testsuite/23_containers/vector/erasure.cc