std::experimental::ranges:: MoveConstructible
From cppreference.net
<
cpp
|
experimental
|
ranges
|
헤더에 정의됨
<experimental/ranges/concepts>
|
||
|
template
<
class
T
>
concept
bool
MoveConstructible
=
|
(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의 결과 상태(위 두 가지 경우 중 어느 하나에서 정의/표현식 평가 후)는 유효하지만 지정되지 않는다; 그렇지 않으면 변경되지 않는다.
참고 항목
|
(C++11)
(C++11)
(C++11)
|
타입이 우측값 참조로부터 생성될 수 있는지 확인합니다
(클래스 템플릿) |