Range-v3
Range algorithms, views, and actions for the Standard Library
swap_ranges.hpp File Reference

Typedefs

template<typename I1 , typename I2 >
using ranges::swap_ranges_result = detail::in1_in2_result< I1, I2 >
 

Functions

template<typename I1 , typename S1 , typename I2 >
CPP_TEMPLATE_AUX_0 ranges::c (requires input_iterator< I1 > &&sentinel_for< S1, I1 > &&input_iterator< I2 > &&indirectly_swappable< I1, I2 >) ccconstexpr swap_ranges_result< I1
 function template swap_ranges
 
template<typename I1 , typename S1 , typename I2 , typename S2 >
CPP_TEMPLATE_AUX_0 ranges::c (requires input_iterator< I1 > &&sentinel_for< S1, I1 > &&input_iterator< I2 > &&sentinel_for< S2, I2 > &&indirectly_swappable< I1, I2 >) ccconstexpr swap_ranges_result< I1
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename Rng1 , typename I2_ >
CPP_TEMPLATE_AUX_0 ranges::c (requires input_range< Rng1 > &&input_iterator< uncvref_t< I2_ >> &&indirectly_swappable< iterator_t< Rng1 >, uncvref_t< I2_ >>) ccconstexpr swap_ranges_result< iterator_t< Rng1 >
 
template<typename Rng1 , typename Rng2 >
CPP_TEMPLATE_AUX_0 ranges::c (requires input_range< Rng1 > &&input_range< Rng2 > &&indirectly_swappable< iterator_t< Rng1 >, iterator_t< Rng2 >>) ccconstexpr swap_ranges_result< borrowed_iterator_t< Rng1 >
 
CPP_TEMPLATE_AUX_0 I2 ranges::swap_ranges (I1 begin1, S1 end1, I2 begin2)
 
CPP_TEMPLATE_AUX_0 I2 ranges::swap_ranges (I1 begin1, S1 end1, I2 begin2, S2 end2)
 
CPP_TEMPLATE_AUX_0 uncvref_t< I2_ > ranges::swap_ranges (Rng1 &&rng1, I2_ &&begin2)
 
CPP_TEMPLATE_AUX_0 borrowed_iterator_t< Rng2 > ranges::swap_ranges (Rng1 &&rng1, Rng2 &&rng2)