From cppreference.com
template<classI1,classI2=I1>conceptindirectly_swappable=std::indirectly_readable<I1>&&std::indirectly_readable<I2>&&requires(constI1i1,constI2i2){ranges::iter_swap(i1,i1);ranges::iter_swap(i1,i2);ranges::iter_swap(i2,i1);ranges::iter_swap(i2,i2);};(since C++20)The concept indirectly_swappable specifies a relationship between two types respectively modelling
, where their referenced types can be swapped.
Semantic requirements
I1 and I2 model indirectly_swappable only if all concepts it subsumes are modeled.
Equality preservation
Expressions declared in
of the standard library concepts are required to be
(except where stated otherwise).
See also