std::conjuncion std::conjuncion indetail indetail テンプレート引数が空のとき、std::true_typeを基底クラスに持つ というテンプレート引数を持つとき、 がはじ めてfalseになる型を基底クラスに持つ がtrueのとき、 を基底クラスに持つ B , ..., B 1 n bool(B : i : value) B : n−1 : value B n
std::disjunction std::disjunction indetail indetail テンプレート引数が空のとき、std::false_typeを基底クラスに持つ というテンプレート引数を持つとき、 がはじ めてtrueになる型を基底クラスに持つ がfalseのとき、 を基底クラスに持つ B , ..., B 1 n bool(B : i : value) B : n−1 : value B n
std::negation std::negation example example std::conjunction,std::disjunctionのパラメータパック内でメタ述語 の否定をしたいときに使うのは想定されるよね。 メタ述語でなくいいなら!std::is_integral_v...と書ける。 template