std::ranges:: iter_move
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더에 정의됨
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
iter_move
=
/* unspecified */
;
|
(C++20부터)
(커스터마이제이션 포인트 객체) |
|
|
호출 시그니처
|
||
|
template
<
class
T
>
requires
/* see below */
|
(C++20부터) | |
주어진 반복자로부터 rvalue 참조 또는 prvalue 임시 객체를 획득합니다.
A ranges :: iter_move ( t ) 는 표현식 동등 합니다:
-
iter_move
(
t
)
, 만약
t
가 클래스 또는 열거형 타입을 가지고, 표현식이
평가되지 않은 피연산자
로 취급될 때 유효하며, 여기서
iter_move의 오버로드 해결 은 인수 의존적 탐색 으로 찾은 후보들만으로 수행되는 경우. - 그렇지 않으면, std :: move ( * t ) , 만약 * t 가 유효하고 lvalue인 경우.
- 그렇지 않으면, * t , 만약 * t 가 유효하고 rvalue인 경우.
다른 모든 경우에,
ranges::iter_move
에 대한 호출은 형식에 맞지 않으며, 이는 템플릿 인스턴스화의 직접적인 맥락에서
ranges
::
iter_move
(
e
)
가 나타날 때
치환 실패
를 초래할 수 있습니다.
만약 ranges :: iter_move ( e ) 가 * e 와 같지 않다면, 프로그램의 형식이 잘못되었으며 진단이 필요하지 않습니다.
커스터마이제이션 포인트 객체
ranges::iter_move
이름은
커스터마이제이션 포인트 객체
를 나타내며, 이는
함수 객체
의 리터럴
리터럴
semiregular
클래스 타입의 상수입니다. 자세한 내용은
CustomizationPointObject
를 참조하십시오.
예제
|
이 섹션은 불완전합니다
이유: 예시가 없음 |
참고 항목
|
(C++20)
|
조정된 기반 반복자를 역참조한 결과를 해당 rvalue 참조 타입으로 변환합니다
(함수) |
|
(C++20)
|
기반 반복자를 역참조한 결과를 해당 rvalue 참조 타입으로 변환합니다
(함수) |