X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e6649f2d55acf4b3bca1ca275752961cd676a053..7197bbad212b0d2e4c0986a2875cba566510f30d:/include/wx/meta/if.h diff --git a/include/wx/meta/if.h b/include/wx/meta/if.h index 450ef24bf1..931591cd48 100644 --- a/include/wx/meta/if.h +++ b/include/wx/meta/if.h @@ -30,19 +30,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 struct Result - { - // unfortunately we also need to define value here because otherwise - // Result::value is not recognized as a class neither and it has to be - // complete too -- at least make it unusable because it really, really - // should never be used - class value - { - private: - value(); - ~value(); - }; - }; + template struct Result {}; } #endif // VC++ <= 6 ; @@ -53,7 +41,7 @@ struct wxIfImpl { template struct Result { - struct value : TTrue { }; + typedef TTrue value; }; }; @@ -63,13 +51,13 @@ struct wxIfImpl { template struct Result { - struct value : TFalse { }; + typedef TFalse value; }; }; } // 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. // @@ -77,9 +65,9 @@ struct wxIfImpl template struct wxIf { - // notice that value can't be a typedef, VC6 refuses to use it as a base - // class in this case - struct value : wxPrivate::wxIfImpl::Result::value { }; + typedef typename wxPrivate::wxIfImpl + ::template Result::value + value; }; #endif // _WX_META_IF_H_