1 // { dg-do run { target c++14 } } 2 3 // Copyright (C) 2015-2021 Free Software Foundation, Inc. 4 // 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // You should have received a copy of the GNU General Public License along 17 // with this library; see the file COPYING3. If not see 18 // <http://www.gnu.org/licenses/>. 19 20 #include <experimental/string> 21 #include <testsuite_hooks.h> 22 23 void test01()24test01() 25 { 26 auto is_vowel = [](const char c) 27 { 28 return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'; 29 }; 30 31 std::string str("cute fluffy kittens"); 32 std::experimental::erase_if(str, is_vowel); 33 VERIFY( str == "ct flffy kttns" ); 34 } 35 36 void test02()37test02() 38 { 39 std::string str = "cute fluffy kittens"; 40 std::experimental::erase(str, 'f'); 41 VERIFY( str == "cute luy kittens" ); 42 std::experimental::erase(str, 'z'); 43 VERIFY( str == "cute luy kittens" ); 44 } 45 46 int main()47main() 48 { 49 test01(); 50 test02(); 51 52 return 0; 53 } 54