{"type":"rich","width":"100%","image_url":null,"provider_name":"Hatena Blog","height":"190","provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fblog.cryolite.net%2Fentry%2F20040828%2Fp4\" title=\"\u304b\u3093\u3059\u30fc\u306e\u3082\u3069\u308a\u3061 - Cry&#39;s Blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_url":"https://blog.cryolite.net/","author_url":"https://blog.hatena.ne.jp/Cryolite/","blog_title":"Cry's Blog","title":"\u304b\u3093\u3059\u30fc\u306e\u3082\u3069\u308a\u3061","url":"https://blog.cryolite.net/entry/20040828/p4","version":"1.0","categories":["C++"],"published":"2004-08-28 00:00:03","author_name":"Cryolite","description":"// std\u540d\u524d\u7a7a\u9593\u5185\u306b\u4ee5\u4e0b\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u3068\u4eee\u5b9a namespace std{ template<class T> struct move_traits { typedef typename T::move_type move_type; static move_type move(T &x){ return x.move(); } }; template<class T> typename move_traits<T>::move_type move(T &x) { return move_traits<T>::move(x); } } // ---------- \u4ee5\u4e0b\u30e9\u30a4\u30d6\u30e9\u30ea\u30b3\u30fc\u30c9 -\u2026"}