Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of MSVC6-specific workarounds, in particular we can now use Bind() and natural template functions calls in the library code. Also remove MSVC6 project and solution files and don't generate them when bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj from the bakefiles results in weird bake-time errors, so it's simpler to just leave them there). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -121,14 +121,11 @@ struct wxPixelFormat
|
||||
// the type which may hold the entire pixel value
|
||||
typedef Pixel PixelType;
|
||||
|
||||
// NB: using static ints initialized inside the class declaration is not
|
||||
// portable as it doesn't work with VC++ 6, so we must use enums
|
||||
|
||||
// size of one pixel in bits
|
||||
enum { BitsPerPixel = Bpp };
|
||||
static const int BitsPerPixel = Bpp;
|
||||
|
||||
// size of one pixel in ChannelType units (usually bytes)
|
||||
enum { SizePixel = Bpp / (8 * sizeof(Channel)) };
|
||||
static const int SizePixel = Bpp / (8 * sizeof(Channel));
|
||||
|
||||
// the channels indices inside the pixel
|
||||
enum
|
||||
@@ -271,10 +268,10 @@ protected:
|
||||
into the CPU registers by the compiler any more.
|
||||
|
||||
Implementation note: we use the standard workaround for lack of partial
|
||||
template specialization support in VC (both 6 and 7): instead of partly
|
||||
specializing the class Foo<T, U> for some T we introduce FooOut<T> and
|
||||
FooIn<U> nested in it, make Foo<T, U> equivalent to FooOut<T>::FooIn<U> and
|
||||
fully specialize FooOut.
|
||||
template specialization support in VC7: instead of partly specializing the
|
||||
class Foo<T, U> for some T we introduce FooOut<T> and FooIn<U> nested in
|
||||
it, make Foo<T, U> equivalent to FooOut<T>::FooIn<U> and fully specialize
|
||||
FooOut (FIXME-VC7).
|
||||
|
||||
Also note that this class doesn't have any default definition because we
|
||||
can't really do anything without knowing the exact image class. We do
|
||||
@@ -693,18 +690,8 @@ struct wxPixelDataOut<wxBitmap>
|
||||
|
||||
#endif //wxUSE_GUI
|
||||
|
||||
// FIXME-VC6: VC6 doesn't like typename in default template parameters while
|
||||
// it is necessary with standard-conforming compilers, remove this
|
||||
// #define and just use typename when we drop VC6 support
|
||||
#if defined(__VISUALC__) && !wxCHECK_VISUALC_VERSION(7)
|
||||
#define wxTYPENAME_IN_TEMPLATE_DEFAULT_PARAM
|
||||
#else
|
||||
#define wxTYPENAME_IN_TEMPLATE_DEFAULT_PARAM typename
|
||||
#endif
|
||||
|
||||
template <class Image,
|
||||
class PixelFormat = wxTYPENAME_IN_TEMPLATE_DEFAULT_PARAM
|
||||
wxPixelFormatFor<Image>::Format >
|
||||
class PixelFormat = typename wxPixelFormatFor<Image>::Format >
|
||||
class wxPixelData :
|
||||
public wxPixelDataOut<Image>::template wxPixelDataIn<PixelFormat>
|
||||
{
|
||||
@@ -747,7 +734,7 @@ typedef wxPixelData<wxBitmap, wxAlphaPixelFormat> wxAlphaPixelData;
|
||||
Note that although it would have been much more intuitive to have a real
|
||||
class here instead of what we have now, this class would need two template
|
||||
parameters, and this can't be done because we'd need compiler support for
|
||||
partial template specialization then and neither VC6 nor VC7 provide it.
|
||||
partial template specialization then and VC7 doesn't provide it.
|
||||
*/
|
||||
template < class Image, class PixelFormat = wxPixelFormatFor<Image> >
|
||||
struct wxPixelIterator : public wxPixelData<Image, PixelFormat>::Iterator
|
||||
|
Reference in New Issue
Block a user