Namespaces
Variants

std::move_iterator<Iter>:: move_iterator

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(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)
move_iterator ( ) ;
(1) (C++17부터 constexpr)
explicit move_iterator ( iterator_type x ) ;
(2) (C++17부터 constexpr)
template < class U >
move_iterator ( const move_iterator < U > & other ) ;
(3) (C++17부터 constexpr)

새로운 move_iterator 를 생성합니다.

오버로드 current
(1) 값 초기화
(2) x (C++20 이전) std :: move ( x ) (C++20 이후) 로 초기화
(3) other. current 로 초기화
3) 변환 생성자.

만약 U Iter 로 변환 가능하지 않으면, 프로그램은 ill-formed입니다.

(C++20까지)

이 오버로드는 다음 조건에서만 오버로드 해결에 참여합니다: std:: is_same_v < U, Iter > false 이고 std:: convertible_to < const U & , Iter > 가 만족될 때.

(C++20부터)

목차

매개변수

x - 적응할 반복자
other - 복사할 반복자 어댑터

예제

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3435 C++20 오버로드 ( 3 ) 가 제약되지 않았음 제약됨

참고 항목

다른 move_iterator 를 할당함
(public member function)
인자로부터 추론된 타입의 std::move_iterator 를 생성함
(function template)