---
name: "std::indirectly_swappable"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::indirectly_swappable"
---

# std::indirectly\_swappable(3)

\[alg.req.ind.swap\], concept indirectly\_swappable

## NAME

std::indirectly\_swappable - \[alg.req.ind.swap\], concept indirectly\_swappable

## SYNOPSIS

\#include \<iterator\>

## Concept definition

```
    template<typename _I1, typename _I2 = _I1>
    concept indirectly_swappable = indirectly_readable<_I1> && indirectly_readable<_I2>
      && requires(const _I1 __i1, const _I2 __i2)
      {
        ranges::iter_swap(__i1, __i1);
        ranges::iter_swap(__i2, __i2);
        ranges::iter_swap(__i1, __i2);
        ranges::iter_swap(__i2, __i1);
      }
```

## Detailed Description

\[alg.req.ind.swap\], concept indirectly\_swappable

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
