T
もパラメータパック
Ts
の一部であることを確認したい
。 C++ 14ではこれを行うsolutionsがありますが、これをC++ 17で単純化できれば私は迷っています。 がTs
に見つからない場合、コンパイラは停止する必要があります(static_assertionは失敗するはずです)。私は折りたたみ式の表現を聞くテンプレート型Tがでvaradicパラメータパックの一部であることを確認するC++ 17
template<typename... Ts>
class A
{
template<typename T>
void action() {
// check that T is also in Ts (static_assertion)
}
}
あなたは5行の長さであるためにリンクソリューション:式が均等に生存している折ります。どのくらいの単純化を探していますか? [ここ] – Sneftel
私の質問(https://stackoverflow.com/questions/45578484/is-it-possible-to-get-the-first-type-of-a-parameter-pack-in-a-one-liner/45578533#45578533)には4つの作業ラインがあり、回答には1つのみが含まれていました。パック内のいくつかの型の 'ベクトル 'の'タプル(tuple)'を作るためにここで見つけた解決策は、10行を超えています。それは今では1つの可能性があります。 – dani
@Sneftel、そこに行きます。 1ライナー。 – dani