table of contents
        
      
      
    | std::experimental::erase_if(std::basic_string)(3) | C++ Standard Libary | std::experimental::erase_if(std::basic_string)(3) | 
NAME¶
std::experimental::erase_if(std::basic_string) - std::experimental::erase_if(std::basic_string)
Synopsis¶
 Defined in header <experimental/string>
  
   template< class CharT, class Traits, class Alloc,
  
   class Pred > (library fundamentals TS v2)
  
   void erase_if( std::basic_string<CharT, Traits,
  
   Alloc>& c, Pred pred );
  
   Erases all elements that satisfy the predicate pred from the container.
    Equivalent
  
   to c.erase(std::remove_if(c.begin(), c.end(), pred), c.end());.
Parameters¶
 c - container from which to erase
  
   pred - predicate that determines which elements should be erased
Complexity¶
Linear.
Example¶
// Run this code
  
   #include <experimental/string>
  
   #include <iomanip>
  
   #include <iostream>
  
   int main()
  
   {
  
   std::string data{"1337!p_C00L_<a-_HACKER_!@s_(!s#@_w^o%r*d#42"};
  
   std::cout << "Original string: " << std::quoted(data)
    << '\n';
  
   auto crack = [](auto O) { return '`' ^ ('`' & O); };
  
   std::experimental::erase_if(data, crack);
  
   std::cout << "After erase_if: " << std::quoted(data)
    << '\n';
  
   }
Output:¶
 Original string:
    "1337!p_C00L_<a-_HACKER_!@s_{!s#@_w^o%r*d#42"
  
   After erase_if: "password"
See also¶
 remove removes elements satisfying specific criteria
  
   remove_if (function template)
  
   erase (std::basic_string) erases all elements equal to a specific value from
    a
  
   (library fundamentals 2 TS) std::basic_string
  
   (function template)
Category:¶
* Noindexed pages
| 2024.06.10 | http://cppreference.com |