고유 한 enable_if 조건을 만들 수있는 방법이 있습니까?사용자 정의 템플릿 제약 조건 만 사용자 정의 템플릿 클래스를 받아들이도록 정의했습니다.
템플릿 클래스가 있습니다 : Foo<int, int, int>
그리고 다른 유형의 템플릿 클래스가 있습니다 : Template <T> class Bar
.
Bar
클래스를 제한하고 싶습니다. 유형은 Foo
클래스 중 하나 일 수 있습니다. 예 : Foo<0, 0 ,1>
은 사용할 수 있지만 int 유형은 사용할 수 없습니다.
사용자 정의 enable_if를 통해이 제한 조건을 요구하는 짧고 깔끔한 방법이 있습니까? 내가 고려하지 않은 더 나은 방법이 있습니까? 이상적으로 솔루션은 상대적으로 작고 명확 할 것이며 아마도 std :: is_arithmetic이 작동하는 방식 일 것입니다.
시간과 제안에 감사드립니다.
(죄송합니다. 다른 기기를 찾을 수 없습니다.) 제안에 감사드립니다. Bar :> –
user7119460
@ user7119460이 아닌 Bar <0,0, 1>을 통해 클래스를 호출해야한다고 생각했습니다. 아니요, 전문화 방법이 아닙니다. . 여전히'푸 (Foo) '를 기대하고있다. – StoryTeller