]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/meta/if.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / meta / if.h
index 9b533a5ab10b6834d97ab4bfb4a32e4107bbe1ec..f6f3672fc7ecae4fa395b6955931598952c45d9d 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     declares wxIf<> metaprogramming construct
 // Author:      Vaclav Slavik
 // Created:     2008-01-22
-// RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vaclav Slavik
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -30,11 +29,7 @@ struct wxIfImpl
 // without this skeleton it doesn't recognize Result as a class at all below
 #if defined(__VISUALC__) && !wxCHECK_VISUALC_VERSION(7)
 {
-    template<typename TTrue, typename TFalse> struct Result
-    {
-        // intentionally don't define value here, this shouldn't be actually
-        // used, it's here just to work around a compiler bug
-    };
+    template<typename TTrue, typename TFalse> struct Result {};
 }
 #endif // VC++ <= 6
 ;
@@ -61,14 +56,17 @@ struct wxIfImpl<false>
 
 } // namespace wxPrivate
 
-// wxIf<> template defines nested type "value" which is the same as 
+// wxIf<> template defines nested type "value" which is the same as
 // TTrue if the condition Cond (boolean compile-time constant) was met and
 // TFalse if it wasn't.
 //
 // See wxVector<T> in vector.h for usage example
 template<bool Cond, typename TTrue, typename TFalse>
-struct wxIf : wxPrivate::wxIfImpl<Cond>::template Result<TTrue, TFalse>
+struct wxIf
 {
+    typedef typename wxPrivate::wxIfImpl<Cond>
+                     ::template Result<TTrue, TFalse>::value
+            value;
 };
 
 #endif // _WX_META_IF_H_