summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/23_containers/forward_list
diff options
context:
space:
mode:
authorEdward Smith-Rowland <3dw4rd@verizon.net>2018-11-30 16:12:13 +0000
committerEdward Smith-Rowland <emsr@gcc.gnu.org>2018-11-30 16:12:13 +0000
commit0b44b4b807a2d7bee4d2a0e4c37794db2aeeb44f (patch)
treef98bd7fce12f723b38ecedc523dcb4ccfc3763ec /libstdc++-v3/testsuite/23_containers/forward_list
parentef33afebf3351fe9f5032ebb735f4ec988e29f06 (diff)
downloadgcc-0b44b4b807a2d7bee4d2a0e4c37794db2aeeb44f.tar.gz
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
Diffstat (limited to 'libstdc++-v3/testsuite/23_containers/forward_list')
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
index 9d06ebe37e4..e137716a818 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
@@ -27,20 +27,23 @@ test01()
auto is_odd = [](const int i) { return i % 2 != 0; };
std::forward_list<int> fl{ 10, 11, 12, 14, 15, 17, 18, 19 };
- std::erase_if(fl, is_odd);
+ auto num = std::erase_if(fl, is_odd);
std::forward_list<int> t{ 10, 12, 14, 18 };
VERIFY( fl == t );
+ VERIFY( num == 4 );
}
void
test02()
{
std::forward_list<int> fl{ 10, 11, 12, 14, 15, 17, 18, 19 };
- std::erase(fl, 14);
+ auto num = std::erase(fl, 14);
std::forward_list<int> t{ 10, 11, 12, 15, 17, 18, 19 };
VERIFY( fl == t );
- std::erase(fl, 20);
+ VERIFY( num == 1 );
+ num = std::erase(fl, 20);
VERIFY( fl == t );
+ VERIFY( num == 0 );
}
int