C++ named requirements: BinaryTypeTrait (since C++11)
From cppreference.net
C++
C++ named requirements
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BinaryTypeTrait 는 두 개의 템플릿 타입 매개변수 간의 관계를 std::integral_constant (일반적으로 std::bool_constant ) 특수화로 설명하는 클래스 템플릿입니다.
요구사항
- DefaultConstructible 와 CopyConstructible 을 만족합니다.
- 두 개의 템플릿 타입 매개변수를 가집니다 (추가 템플릿 매개변수는 선택적이며 허용됩니다).
- 공개적이고 명확하게 std::integral_constant 의 특수화로부터 파생되며, 이를 기본 특성 이라고 합니다.
- 기본 특성 의 멤버 이름들은 숨겨지지 않으며 명확하게 사용 가능합니다.
표준 라이브러리
다음 표준 라이브러리 클래스 템플릿들은 BinaryTypeTrait 를 만족합니다:
|
(C++11)
|
두 타입이 동일한지 검사합니다
(클래스 템플릿) |
|
(C++11)
|
한 타입이 다른 타입의 베이스인지 검사합니다
(클래스 템플릿) |
|
(C++26)
|
한 타입이 다른 타입의 가상 베이스인지 검사합니다
(클래스 템플릿) |
|
(C++11)
(C++20)
|
한 타입이 다른 타입으로 변환 가능한지 검사합니다
(클래스 템플릿) |
|
(C++20)
|
두 타입이
레이아웃 호환
인지 검사합니다
(클래스 템플릿) |
|
한 타입이 다른 타입의
포인터 상호 변환 가능
(초기) 베이스인지 검사합니다
(클래스 템플릿) |
|
|
타입이 주어진 인수 타입들로 호출 가능한지 검사합니다
(
std::invoke
로 호출하는 것처럼)
(클래스 템플릿) |
|
|
(C++11)
|
지정된 타입이 uses-allocator 생성자를 지원하는지 검사합니다
(클래스 템플릿) |