// 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
;
} // 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_