Namespaces
Variants

std::experimental::ranges:: CopyConstructible

From cppreference.net
헤더 파일에 정의됨 <experimental/ranges/concepts>
template < class T >

concept bool CopyConstructible =
MoveConstructible < T > &&
Constructible < T, T & > && ConvertibleTo < T & , T > &&
Constructible < T, const T & > && ConvertibleTo < const T & , T > &&

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

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

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

  • v , (가능성 있게 const 인) 타입 T 의 lvalue 또는 const T 타입의 rvalue,

다음은 참입니다:

  • 정의 후 T u = v ; , u v 와 동일함;
  • T { v } v 와 동일함.

참고 항목

타입이 복사 생성자를 가지는지 검사합니다
(클래스 템플릿)