728x90

언어 관련 콘셉트

same_as 두 형식이 같음
derived_from 한 형식이 다른 형식의 파생 형식
convertible_to 한 형식을 다른 형식으로 변환 가능
common_reference_with 두 형식을 어떤 공통의 참조 형식으로 변환 가능 ( A, B => C )
common_with 공통 형식 C가 std::common_type_t< A, B >와 같으며, 참조 형식이 아니어도 된다.
assignable_from 한 형식의 값을 다른 형식으로 배정할 수 있음
swappable 두 형식의 값을 교환할 수 있음

 

산술 콘셉트

integral 정수 형식
signed_integral 부호 있는 정사 형식
unsigned_integral 부호 없는 정수 형식
floating_point 부동소수점 형식

 

객체 수명 콘셉트

destructible 소멸 가능
constructible_from 한 형식으로 다른 형식을 생성할 수 있음
default_constructible 기본 생성 가능
move_constructible 이동 생성 가능
copy_constructible 복사 생성 가능

 

비교 콘셉트

boolean_testable boolean 컨텍스트 형식에서 사용 가능
equality_comparable 상등 비교 가능
totally_ordered 비교 연산자가 전 순서를 산출하도록 지정
three_way_comparable 3중 비교 연산 가능

 

객체 콘셉트

movable 이동 가능
copyable 복사 가능
semiregular 준정규 형식
regular 정규 형식

 

호출 가능 콘셉트

invocable 호출 가능
regular_invocable 정규 호출 가능( invocable 충족, 값은 입력에 대해 항상 같은 결과, 함수 인수 수정 X )
predicate invocable 충족, 부울 값 반환
relation 이진 관계 지정
equivalence_relation 동등한 이진 관계 지정
strict_weak_order 등가 클래스에 대한 엄격한 순서 지정

https://en.cppreference.com/w/cpp/concepts

반응형

+ Recent posts