|
Boost Users : |
Subject: Re: [Boost-users] [heap] Mix use of size_t and size_type
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2015-03-12 05:52:13
> -----Original Message-----
> From: Boost-users [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Ben Pope
> Sent: 12 March 2015 01:56
> To: boost-users_at_[hidden]
> Subject: Re: [Boost-users] [heap] Mix use of size_t and size_type
>
> On Thursday, March 12, 2015 07:06 AM, Gavin Lambert wrote:
> > If you're referring to the parentheses around std::min itself, that's
> > a standard defense against #define min().
>
> Thanks, never seen that used before.
This is really quite important to avoid difficult-to-diagnose trouble when using Windows, whose code
often makes a daft #define for min.
So important, that Boost has a tool to check for it called 'Inspect' that reports all sorts of
naughtiness, including this.
Build the tool inspect.exe by cd to
?:\modular-boost\tools\inspect
and running b2 to build inspect.exe
Then cd to the top of your code, eg /libs/your_library and run inspect from there
(perhaps inspect.exe > my_inspect.html)
You will get some spurious complaints, but you can pick out all uses of min() and max() without
protective brackets.
Should be, for example,
(std::numeric_limits<result_type>::min)()
Paul
--- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
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