Namespaces
Variants

std:: indirectly_swappable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
indirectly_swappable
(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>
template < class I1, class I2 = I1 >

concept indirectly_swappable =
std:: indirectly_readable < I1 > &&
std:: indirectly_readable < I2 > &&
requires ( const I1 i1, const I2 i2 )
{
ranges:: iter_swap ( i1, i1 ) ;
ranges:: iter_swap ( i1, i2 ) ;
ranges:: iter_swap ( i2, i1 ) ;
ranges:: iter_swap ( i2, i2 ) ;

} ;
(C++20 이후)

indirectly_swappable 개념은 각각 std::indirectly_readable 를 모델링하는 두 타입 간의 관계를 명시하며, 여기서 참조된 타입들이 교환될 수 있습니다.

의미론적 요구사항

I1 I2 indirectly_swappable 를 모델링하려면, 이 개념이 포함하는 모든 개념들이 모델링되어야 합니다.

동등성 보존

표준 라이브러리 개념의 requires expressions 에 선언된 표현식들은 equality-preserving 해야 합니다(다르게 명시된 경우를 제외하고).

참고 항목

타입이 * 연산자를 적용하여 간접적으로 읽을 수 있음을 명시
(concept)
(C++20)
두 개의 역참조 가능 객체가 참조하는 값을 교환
(customization point object)