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 expressions 에 선언된 표현식들은 equality-preserving 해야 합니다(다르게 명시된 경우를 제외하고).

참고 항목

indirectly_readable 타입에서 indirectly_writable 타입으로 값이 복사될 수 있음을 명시
(concept)
indirectly_readable 타입에서 indirectly_writable 타입으로 값이 이동될 수 있으며, 중간 객체를 통해 이동이 수행될 수 있음을 명시
(concept)