C++17 の std::void_t
C++17 では std::void_t
というメタ関数が追加されるらしい。
これは、
template<typename...> using void_t = void;
と、いう風に定義されています。
[使い方]
このメタ関数は次のように使うみたい。
template<typename, typename = std::void_t<> > struct has_type_member : std::false_type {}; template<typename T> struct has_type_member<T, std::void_t<typename T::type>> : std::true_type {};
確かに便利そう。