Boost logo

Boost :

From: pbristow_at_[hidden]
Date: 2019-08-22 09:51:59


> -----Original Message-----
> From: Boost <boost-bounces_at_[hidden]> On Behalf Of Mike via Boost
> Sent: 22 August 2019 10:17
> To: boost_at_[hidden]
> Cc: Mike <mike.dev_at_[hidden]>
> Subject: Re: [boost] Compliance with Boost copyright and license guidelines
>
> > Gesendet: Donnerstag, 22. August 2019 um 11:06 Uhr
> > Von: "Hans Dembinski via Boost" <boost_at_[hidden]> The max/min
> > macro issue does not seem to be relevant anymore in modern compilers. I was
> completely unaware of this in Boost.Histogram and the code works fine on all
> msvc versions which support C++14. I added the patches to Histogram to get rid
of
> this warning, but now that code became a lot less readable. I am considering
to
> revert this change and propose instead to remove the min/max macro check from
> the inspection list. Or is there a way to blacklist it locally for my library?
>
> This is not a compiler problem. The windows.h file
> (https://en.wikipedia.org/wiki/Windows.h) is defining those macros unless
special
> workarounds are applied like defining NOMINMAX before including the file.

But it is a problem for all those who *use* Boost code *and* Windows - and that
is a LOT of people, most perhaps.

So there is a longstanding Boost policy that we avoid annoying Windows users.

It's a minor nuisance and trivial ugliness in Boost code, adding brackets to
(std::max) and (std::numeric_limits<>::max)() etc.

Paul

PS I suspect that it seemed very cool of Microsoft to define these min and max
macros, probably about 30 ago, perhaps even by Bill himself?

Paul A. Bristow
Prizet Farmhouse
Kendal, Cumbria
LA8 8AB UK


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk