|
Boost : |
From: Paul A Bristow (pbristow_at_[hidden])
Date: 2006-06-20 04:54:35
| -----Original Message-----
| From: boost-bounces_at_[hidden]
| [mailto:boost-bounces_at_[hidden]] On Behalf Of Eric Niebler
| Sent: 19 June 2006 19:44
| To: boost_at_[hidden]
| Subject: Re: [boost] [test] test/included min max macro issue
|
| Gennadiy Rozental wrote:
| > "Stephan Tolksdorf" <andorxor_at_[hidden]> wrote in message
| > news:449425F6.3030508_at_gmx.de...
| >
| >>Hi
| >>
| >>Including "boost/test/included/unit_test.hpp" from the current SVN
| >>version also causes min and max macros to be defined on Windows
|
| Just to clarify, all Boost libraries aim for complete neutrality
| regarding the min/max macros. They should compile cleanly
| regardless of
| whether the macros are defined or not, and should neither
| cause them to
| be defined (unless they must include system headers which
| define them)
| or undefine them.
|
| http://boost.org/more/lib_guide.htm
Says:
# If you want to call std::numeric_limits<int>::max(), use
(std::numeric_limits<int>::max)() instead.
# If you want to call a min() or max() member function, instead to doing
obj.min(), use (obj.min)().
Just to be clear, are you saying that these forms should ALWAYS be used in
all code that might encounter windows.h or the min max macros (which
obviously includes all Boost code)?
This is a minor PITA, but we could get used to it :-(
Paul
--- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk