Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::erase_if(std::deque)

      From cppreference.com
      <cpp‎ |experimental

      [edit template]
       
       
       
       
      Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standardas of 11/2018, seestd::erase_if(since C++20)
      Defined in header<experimental/deque>
      template<class T,class Alloc,class Pred>
      void erase_if(std::deque<T, Alloc>& c, Pred pred);
      (library fundamentals TS v2)

      Erases all elements that satisfy the predicatepred from the container. Equivalent toc.erase(std::remove_if(c.begin(), c.end(), pred), c.end());.

      Contents

      [edit]Parameters

      c - container from which to erase
      pred - predicate that determines which elements should be erased

      [edit]Complexity

      Linear.

      [edit]Example

      Run this code
      #include <experimental/deque>#include <iostream> template<typename Os,typename Container>inline Os& operator<<(Os& os, Containerconst& container){    os<<"{ ";for(constauto& item: container)        os<< item<<' ';return os<<'}';} int main(){std::deque<int> data{3,3,4,5,5,6,6,7,2,1,0};std::cout<<"Original:\n"<< data<<'\n';auto divisible_by_3=[](autoconst& x){return(x%3)==0;};    std::experimental::erase_if(data, divisible_by_3);std::cout<<"Erase all items divisible by 3:\n"<< data<<'\n';}

      Output:

      Original:{ 3 3 4 5 5 6 6 7 2 1 0 }Erase all items divisible by 3:{ 4 5 5 7 2 1 }

      [edit]See also

      removes elements satisfying specific criteria
      (function template)[edit]
      (library fundamentals 2 TS)
      erases all elements equal to a specific value from astd::deque
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/deque/erase_if&oldid=98555"

      [8]ページ先頭

      ©2009-2025 Movatter.jp