std::indirectly_swappable - cppreference.com

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

std::indirectly_readable

, 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

requires expressions

of the standard library concepts are required to be

equality-preserving

(except where stated otherwise).

See also