# std::indirectly_copyable

< cpp‎ | iterator

定义于头文件 `<iterator>` |  |
template<class In, class Out> concept indirectly_copyable = std::indirectly_readable<In> && std::indirectly_writable<Out, iter_reference_t<In>>; |  | (C++20 起)

`indirectly_copyable` 概念指定 `indirectly_readable` 类型与 `indirectly_writable` 类型间的关系。 `indirectly_writable` 类型必须能直接复制 `indirectly_readable` 类型所引用的对象。

### 参阅

indirectly_movable (C++20) | 指定可从 `indirectly_readable` 类型移动值给 `indirectly_writable` 类型 (概念)
indirectly_copyable_storable (C++20) | 指定可从 `indirectly_readable` 类型复制值给 `indirectly_writable` 类型，且该复制可以通过中间对象进行 (概念)