2016-12-23 6 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

関連する問題