|
Boost Users : |
From: Jeff Garland (jeff_at_[hidden])
Date: 2004-12-02 09:02:36
On Wed, 01 Dec 2004 17:08:50 -0800, Eric Niebler wrote
> Jeff Garland wrote:
> >
> > .rant on
> > While I understand your point, I think we should push for reform
> > in Redmond.
>
> <rant snipped>
>
> Microsoft is now a much better citizen than it was when it first
> introduced the min/max macros into their platform headers. That
> wouldn't fly at MS these days. But, having worked there,
Yes, I agree things are better.
> I know why
> they would strongly resist taking the macros out. It's a breaking
> change,
Well, that's just wrong-headed. For one thing, making no-change is 'breaking'
for people that hit this anew and waste their time figuring out the work
around. I've actually known about this problem for several years and yet here
I've had to relearn again. They could easily leave the macro there and change
the default to NOMINMAX so that future generations don't have to continue to
suffer from past evils. The customers that foolishly depend on this directly
in their code would have to set a compile flag to get back the min/max
definitions or patch their version of windows.h to change the default. IME
99.9% of the users 'usage' of this is to define NOMINMAX so the change would
be non-breaking for these customers. This goes into the release notes and
users will just deal with it. To me it is a minor price to pay to be able to
able to write the string 'max' or 'min' in C++ code without adornment or fear.
> and users have a "fix" -- #define NOMINMAX. (The fact that
> there is at least one platform header that depends on them is
> clearly a bug.) What I'm trying to say is, Redmond has already
> reformed quite a bit -- the revolution is over, we're just left
> coping with its aftermath.
Oh well, I've checked a patch into CVS to fix it -- thanks to Bart Garst for
writing and testing it :-)
Jeff
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net