たとえば、タイプT
は、std::is_pointer<T>
とstd::is_const<T>
の場合にのみ使用します。C++ type_traitsからの条件結合方法標準
もちろん、そこにこのような単純な方法です:
template <typename T>
void f(T t, std::true_type, std::true_type) {}
template <typename T>
void f(T t)
{
f(t, std::is_pointer<T>{}, std::is_const<T>{});
}
は、しかし、私はこのような何かしたい:
template <typename T>
void f(T t, std::true_type) {}
template <typename T>
void f(T t)
{
f(t, std::and<std::is_pointer<T>, std::is_const<T>>{});
}
をC++標準クラスでstd::and
のようなものですか? いいえ、それを実装する簡単な方法は何ですか?