fixed illegal template usage
[xonotic/netradiant.git] / libs / generic / functional.h
index ca1d86307f549d388913fbbd7bc358a132b0cfa5..bd253486bb0d0a654ed1651b445ff5e7bf23a44c 100644 (file)
@@ -296,23 +296,17 @@ public:
   }
 };
 
-template<typename Type, typename Other, typename True, typename False>
+template<typename Other, typename True, typename False, typename Type>
 class TypeEqual
 {
-  template<typename Matched>
-  class Match
-  {
-  public:
-    typedef False type;
-  };
-  template<>
-  class Match<Other>
-  {
-  public:
-    typedef True type;
-  };
 public:
-  typedef typename Match<Type>::type type;
+  typedef False type;
+};
+template<typename Other, typename True, typename False>
+class TypeEqual<Other, True, False, Other>
+{
+public:
+  typedef True type;
 };