C++ 표준은 템플릿 선언에 속성을 설정할 수 있습니까? 예를 들어 :속성을 템플릿에 적용 할 수 있습니까?
[[attr1]] template <typename T [[attr2]] > [[attr3]]
class [[attr4]] C {};
나는 attr4
템플릿 인스턴스 (즉, 예를 들어, T<int>
및 T<char>
에 속성 것)에 대한 유효한 속성으로 간주됩니다 믿습니다.
컴파일러는 attr1
또는 attr3
을 유효하게 간주합니까? (무시 되더라도)?
attr2
도 유효할까요? 나는 생각하지 않는다. 그러나 나는 확실하지 않다. 이 문제는 인스턴스화에 사용 된 주어진 유형에 속성을 "추가"하지만 IIRC의 현재 템플릿 매개 변수에 모든 속성이 무시되는 경우 문제가 발생합니다.
attr1
및/또는 attr3
나의 관심은 템플릿에 지정된 속성이 자동으로 유형의 주어진 집합 클래스의 인스턴스를 강제 사용자 정의 테스트 DSL,입니다.