tle=Template:cpp/algorithm/ranges/dsc_fill_n&action=edit)  
[ generate  ](/w/cpp/algorithm/generate "cpp/algorithm/generate") |  assigns the results of successive function calls to every element in a range   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/dsc_generate&action=edit)  
[ ranges::generate  ](/w/cpp/algorithm/ranges/generate "cpp/algorithm/ranges/generate") (C++20)  |  saves the result of a function in a range   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_generate&action=edit)  
[ generate_n  ](/w/cpp/algorithm/generate_n "cpp/algorithm/generate n") |  assigns the results of successive function calls to N elements in a range   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/dsc_generate_n&action=edit)  
[ ranges::generate_n  ](/w/cpp/algorithm/ranges/generate_n "cpp/algorithm/ranges/generate n") (C++20)  |  saves the result of N applications of a function   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_generate_n&action=edit)  
  
####  [ [ edit ](/mwiki/index.php?title=cpp/algorithm&action=edit&section=12
"Edit section: Removing operations") ]  Removing operations

Defined in header ` [ <algorithm> ](/w/cpp/header/algorithm
"cpp/header/algorithm") `  
---  
[ remove  remove_if  ](/w/cpp/algorithm/remove "cpp/algorithm/remove") |  removes elements satisfying specific criteria   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/dsc_remove&action=edit)  
[ ranges::remove  ranges::remove_if  ](/w/cpp/algorithm/ranges/remove "cpp/algorithm/ranges/remove") (C++20)  (C++20)  |  removes elements satisfying specific criteria   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_remove&action=edit)  
[ remove_copy  remove_copy_if  ](/w/cpp/algorithm/remove_copy "cpp/algorithm/remove copy") |  copies a range of elements omitting those that satisfy specific criteria   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/dsc_remove_copy&action=edit)  
[ ranges::remove_copy  ranges::remove_copy_if  ](/w/cpp/algorithm/ranges/remove_copy "cpp/algorithm/ranges/remove copy") (C++20)  (C++20)  |  copies a range of elements omitting those that satisfy specific criteria   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_remove_copy&action=edit)  
[ unique  ](/w/cpp/algorithm/unique "cpp/algorithm/unique") |  removes consecutive duplicate elements in a range   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/dsc_unique&action=edit)  
[ ranges::unique  ](/w/cpp/algorithm/ranges/unique "cpp/algorithm/ranges/unique") (C++20)  |  removes consecutive duplicate elements in a range   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_unique&action=edit)  
[ unique_copy  ](/w/cpp/algorithm/unique_copy "cpp/algorithm/unique copy") |  creates a copy of some range of elements that contains no consecutive duplicates   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/dsc_unique_copy&action=edit)  
[ ranges::unique_copy  ](/w/cpp/algorithm/ranges/unique_copy "cpp/algorithm/ranges/unique copy") (C++20)  |  creates a copy of some range of elements that contains no consecutive duplicates   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_unique_copy&action=edit)  
  
####  [ [ edit ](/mwiki/index.php?title=cpp/algorithm&action=edit&section=13
"Edit section: Order-changing operations") ]  Order-changing operations

Defined in header ` [ <algorithm> ](/w/cpp/header/algori