Namespaces
Variants

std:: indirectly_copyable_storable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
indirectly_copyable_storable
(C++20)
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
Определено в заголовке <iterator>
(начиная с C++20)

Концепт indirectly_copyable_storable определяет отношение между типом indirectly_readable и типом indirectly_writable . В дополнение к indirectly_copyable , этот концепт специфицирует, что копирование из типа indirectly_readable может быть выполнено через промежуточный объект.

Семантические требования

In и Out модель std :: indirectly_copyable_storable < In, Out > только если задано разыменовываемое значение i типа In :

  • После определения std:: iter_value_t < In > obj ( * i ) ; , obj равен значению, ранее обозначенному * i , и
  • если std:: iter_reference_t < In > является типом rvalue-ссылки, * i переводится в допустимое, но неопределённое состояние после инициализации obj .

Сохранение равенства

Выражения, объявленные в requires выражениях концепций стандартной библиотеки, должны быть equality-preserving (если не указано иное).

Смотрите также

определяет, что значения могут быть скопированы из indirectly_readable типа в indirectly_writable тип
(концепт)
определяет, что значения могут быть перемещены из indirectly_readable типа в indirectly_writable тип и что перемещение может быть выполнено через промежуточный объект
(концепт)