C++1z has_unique_object_representations型特性

少しまえから、オブジェクトからハッシュ値の計算を自動的に行いたい、という話がでていました。C++1z時点ではそのサポートは入りませんが、前準備として、自動的にハッシュ値を求められる型かを判別するためのhas_unique_object_representationsという型特性が入ります。

この型特性は、パディングビットを持たないtrivially copyableな型(memcpyできる型)や、その配列に対して真を返します。

宣言

// <type_traits>
namespace std {
    template <class T>
    struct has_unique_object_representations : bool_constant<…> {};
}

2016年9月段階では、変数テンプレート版は予定されていません。

参照

お断り

この記事の内容は、C++1zが正式リリースされる際には変更される可能性があります。正式リリース後には、C++日本語リファレンスサイトcpprefjpの以下の階層の下に解説ページを用意する予定です。