OSDN Git Service

memberwise_swap を追加
[gintenlib/gintenlib.git] / gintenlib / is_same_class.hpp
index f4cd3c5..9bfda7d 100644 (file)
@@ -4,9 +4,9 @@
 /*
       <gintenlib/is_same_class.hpp>
 
-  is_same_class ¡§ const, volatile ¤ò½ü¤¤¤¿¾õÂ֤Ǥη¿¤ÎÈæ³Ó
+  is_same_class : const, volatile を除いた状態での型の比較
   
-  Àë¸À¡§
+  宣言:
     template< typename T1, typename T2 >
     class is_same_class
     {
@@ -16,9 +16,9 @@
     class enable_if_same_class
       : enable_if< is_same_class<T1, T2>, T > {};
 
-  µ¡Ç½¡§
-    ²¼¤ÎÄêµÁ¤ò¸«¤ì¤Ð°ìÌÜÎÆÁ³¡£remove_cv ¤·¤Æ is_same Èæ³Ó¤·¤Þ¤¹¡£
-    Èæ³ÓŪ¿¤¤Áàºî¤Ê¤Î¤Ç¡¢Ã»¤¯»È¤¨¤ë¤è¤¦¤Ë¡£
+  機能:
+    下の定義を見れば一目瞭然。remove_cv して is_same 比較します。
+    比較的多い操作なので、短く使えるように。
 
 */
 
 
 namespace gintenlib
 {
-  // CV ½¤¾þ¤ò½ü¤¤¤ÆƱ¤¸¥¯¥é¥¹¤«Èݤ«
+  // CV 修飾を除いて同じクラスか否か
   template<typename T1, typename T2>
   struct is_same_class
     : boost::is_same< typename boost::remove_cv<T1>::type, 
       typename boost::remove_cv<T2>::type > {};
   
-  // CV ½¤¾þ¤ò½ü¤¤¤ÆƱ¤¸¤Ê¤éÍ­¸ú¤Ë¤Ê¤ë
+  // CV 修飾を除いて同じなら有効になる
   template<typename T1, typename T2, typename T = void>
   struct enable_if_same_class
     : enable_if< is_same_class<T1, T2>, T > {};