Namespaces
Variants

C++ named requirements: BinaryTypeTrait (since C++11)

From cppreference.net
C++ named requirements

BinaryTypeTrait 는 두 개의 템플릿 타입 매개변수 간의 관계를 std::integral_constant (일반적으로 std::bool_constant ) 특수화로 설명하는 클래스 템플릿입니다.

요구사항

  • DefaultConstructible CopyConstructible 을 만족합니다.
  • 두 개의 템플릿 타입 매개변수를 가집니다 (추가 템플릿 매개변수는 선택적이며 허용됩니다).
  • 공개적이고 명확하게 std::integral_constant 의 특수화로부터 파생되며, 이를 기본 특성 이라고 합니다.
  • 기본 특성 의 멤버 이름들은 숨겨지지 않으며 명확하게 사용 가능합니다.

표준 라이브러리

다음 표준 라이브러리 클래스 템플릿들은 BinaryTypeTrait 를 만족합니다:

(C++11)
두 타입이 동일한지 검사합니다
(클래스 템플릿)
(C++11)
한 타입이 다른 타입의 베이스인지 검사합니다
(클래스 템플릿)
한 타입이 다른 타입의 가상 베이스인지 검사합니다
(클래스 템플릿)
한 타입이 다른 타입으로 변환 가능한지 검사합니다
(클래스 템플릿)
두 타입이 레이아웃 호환 인지 검사합니다
(클래스 템플릿)
한 타입이 다른 타입의 포인터 상호 변환 가능 (초기) 베이스인지 검사합니다
(클래스 템플릿)
타입이 주어진 인수 타입들로 호출 가능한지 검사합니다 ( std::invoke 로 호출하는 것처럼)
(클래스 템플릿)
지정된 타입이 uses-allocator 생성자를 지원하는지 검사합니다
(클래스 템플릿)