std::experimental::ranges::IndirectlySwappable(3)

NAME
std::experimental::ranges::IndirectlySwappable - std::experimental::ranges::IndirectlySwappable

Synopsis
   Defined in header <experimental/ranges/iterator>
   template <class I1, class I2 = I1>
   concept bool IndirectlySwappable =
   Readable<I1> && Readable<I2> &&
   requires(I1&& i1, I2&& i2) {
   ranges::iter_swap(std::forward<I1>(i1), std::forward<I2>(i2)); (ranges TS)
   ranges::iter_swap(std::forward<I2>(i2), std::forward<I1>(i1));
   ranges::iter_swap(std::forward<I1>(i1), std::forward<I1>(i1));
   ranges::iter_swap(std::forward<I2>(i2), std::forward<I2>(i2));
   };
    This section is incomplete
    Reason: add description and extra caveats