C++14では、f<Arg>::typeのような型を返す型特性クラスに対して、f_t<Arg>のように_tをクラス名に付けて::typeを省略するエイリアステンプレート版が追加されました。
C++1zでは、f<Arg>::valueのような値を返す型特性クラスに対して、f_v<Arg>のように_vをクラス名に付けて::valueを省略する変数テンプレート版が追加されます。
tはtype、vはvalueを意味します。
#include <type_traits> int main() { // 値を返す型特性クラスの、通常の使い方 static_assert(std::is_void<void>::value); // 明示的に結果を取り出す static_assert(std::is_void<void>()()); // 関数呼び出し演算子 static_assert(std::is_void<void>()); // boolへの型変換演算子 // C++1zで追加される変数テンプレート版 static_assert(std::is_void_v<void>); }
変数テンプレートに対応する型特性クラスの一覧は、参照先の提案文書で確認してください。
参照
お断り
この記事の内容は、C++1zが正式リリースされる際には変更される可能性があります。正式リリース後には、C++日本語リファレンスサイトcpprefjpの以下の階層の下に解説ページを用意する予定です。