Namespaces
Variants

std::experimental::ranges:: MoveConstructible

From cppreference.net
template < class T >

concept bool MoveConstructible =

Constructible < T, T > && ConvertibleTo < T, T > ;
(ranges TS)

MoveConstructible 개념은 T 가 참조 타입이거나, 해당 타입의 객체가 직접 초기화 및 복사 초기화 컨텍스트에서 해당 타입의 rvalue로부터 일반적인 의미론으로 생성될 수 있는 객체 타입인 경우 충족됩니다.

보다 정확하게는, T 가 객체 타입일 때, MoveConstructible<T> 는 다음 조건이 주어졌을 때만 만족됩니다.

  • rv , 타입 T 의 rvalue, 그리고
  • u2 , 타입 T 의 별개 객체로서 rv 와 동일한 값,

다음은 참입니다:

  • 정의 T u = rv ; 이후, u u2 와 동일하다;
  • T{rv} u2 와 동일하다; 그리고
  • 만약 T 가 const-qualified가 아니라면, rv 의 결과 상태(위 두 가지 경우 중 어느 하나에서 정의/표현식 평가 후)는 유효하지만 지정되지 않는다; 그렇지 않으면 변경되지 않는다.

참고 항목

타입이 우측값 참조로부터 생성될 수 있는지 확인합니다
(클래스 템플릿)