ion: Constrained random number algorithms") ]  Constrained random number
algorithms

Defined in header ` [ <random> ](/w/cpp/header/random "cpp/header/random") `  
---  
Defined in namespace ` std::ranges `  
[ ranges::generate_random  ](/w/cpp/algorithm/ranges/generate_random "cpp/algorithm/ranges/generate random") (C++26)  |  fills a range with random numbers from a uniform random bit generator   
(niebloid)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/dsc_generate_random&action=edit)  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/algorithm/ranges&action=edit&section=6 "Edit
section: Return types") ]  Return types

Defined in header ` [ <algorithm> ](/w/cpp/header/algorithm
"cpp/header/algorithm") `  
---  
Defined in namespace ` std::ranges `  
[ ranges::in_fun_result  ](/w/cpp/algorithm/ranges/return_types/in_fun_result "cpp/algorithm/ranges/return types/in fun result") (C++20)  |  provides a way to store an iterator and a function object as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_in_fun_result&action=edit)  
[ ranges::in_in_result  ](/w/cpp/algorithm/ranges/return_types/in_in_result "cpp/algorithm/ranges/return types/in in result") (C++20)  |  provides a way to store two iterators as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_in_in_result&action=edit)  
[ ranges::in_out_result  ](/w/cpp/algorithm/ranges/return_types/in_out_result "cpp/algorithm/ranges/return types/in out result") (C++20)  |  provides a way to store two iterators as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_in_out_result&action=edit)  
[ ranges::in_in_out_result  ](/w/cpp/algorithm/ranges/return_types/in_in_out_result "cpp/algorithm/ranges/return types/in in out result") (C++20)  |  provides a way to store three iterators as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_in_in_out_result&action=edit)  
[ ranges::in_out_out_result  ](/w/cpp/algorithm/ranges/return_types/in_out_out_result "cpp/algorithm/ranges/return types/in out out result") (C++20)  |  provides a way to store three iterators as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_in_out_out_result&action=edit)  
[ ranges::min_max_result  ](/w/cpp/algorithm/ranges/return_types/min_max_result "cpp/algorithm/ranges/return types/min max result") (C++20)  |  provides a way to store two objects or references of the same type as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_min_max_result&action=edit)  
[ ranges::in_found_result  ](/w/cpp/algorithm/ranges/return_types/in_found_result "cpp/algorithm/ranges/return types/in found result") (C++20)  |  provides a way to store an iterator and a boolean flag as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_in_found_result&action=edit)  
[ ranges::in_value_result  ](/w/cpp/algorithm/ranges/return_types/in_value_result "cpp/algorithm/ranges/return types/in value result") (C++23)  |  provides a way to store an iterator and a value as a single unit   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/algorithm/ranges/return_types/dsc_in_value_result&action=edit)  
[ ranges::out_value_result  ](/w/cpp/algorithm/ranges/return_types/out_value_result "cpp/algorithm/ranges/return types/out value result") (C++23)  |  provides a way to store an iterator and a value as a single unit   
(class template)  [