Boost.Flyweight の発表するときの資料として規格を見ていた時に気づいたんですが、
C++0x の Working Draft (N3126) の 20.8.15 Class template hash の項目の、
template <> struct hash<T*>;
の部分がおかしいです。
正しくは、
template <class T> struct hash<T*>;
となっているべきなのですが…。
どうやらIssue Listには指摘はなさそうだ、という話なので、
正直面倒ですがせっかくの機会なので、ちょいと出しゃばってみることにします。
この記事は「結局やる気なくてやめる」的な行動を抑止するため、敢えて書いてみた次第。
* 追記 *
で、投稿してました。
五分で書ける程度の文章を数時間かけて悩んだ末、とんでもなく簡潔になったけど:
title: "template <> struct hash<T*>" seems to be a miss I found a miss in N3126 20.8.15 Class template hash [unord.hash]; "template <> struct hash<T*>" should be "template <class T> struct hash<T*>;".
いくらなんでもこれは短文すぎると思いますが、長く書いてアホっぽくなるのも嫌なので。
普段から もう少しメーリス読んで雰囲気を掴んでおくべきですねー。