2016-12-23 5 views
2

나는 이것을 행운으로 찾는 2 시간 동안 인터넷 검색을 해왔다.Dlang : 템플릿 함수에 인터페이스를 적용하는 방법

템플릿 함수가 있고 템플릿 유형에 인터페이스를 적용하려면 어떻게해야합니까?

ex.

void doStuff(T)(bool param) if(is(T : Throwable)) { } 

is 표현은 매우 복잡 할 수있다, 그래서 this을 통해 읽은 제안 :

void doStuff(T)(bool param) /*if T is a Throwable*/ { 
    // do stuff... 
} 

답변

6

당신은 템플릿 제약 조건을 사용하여이 작업을 수행 할 수 있습니다.

+0

이 우리는 간다. 그것은 내가 기대했던 것보다 조금 더 우아합니다. – FatalCatharsis

+1

'is' 키워드보다는 실제로 더 좋은 방법이 있습니다. 'void doStuff (T : Throwable) (bool param) {}' – Bauss