整数のStrong Typedefとして作ったtagged_int
クラスに、ハッシュサポートを追加しました。
これで、std::unordered_map
とboost::unordered_map
のキーとして使えます。
#include <shand/strong_typedef/tagged_int.hpp> #include <unordered_map> #include <boost/unordered_map.hpp> struct tag {}; typedef shand::tagged_int<int, tag> integer; int main () { { std::unordered_map<integer, char> m; m.insert(std::make_pair(integer(3), 'a')); } { boost::unordered_map<integer, char> m; m.insert(std::make_pair(integer(3), 'a')); } }
tagged_real
の方は、今のところ対応していません。浮動小数点数型をキーにしたい状況がよくわからないので、ユースケースが見つかったら対応します。