
In-Reply-To: <6.2.0.14.2.20050417185958.0459b5a0@mail.rudbek.com> vawjr@rudbek.com (Victor A. Wagner Jr.) wrote (abridged):
do you keep all versions of your compiler around forever?
Pretty much. We don't keep them in VCS though. We don't treat them as source code because, well, they are not source code. (Switching to a different compiler vendor would be a much bigger deal than adopting boost so this comparison probably isn't helping your case.)
I didn't want to include anything I couldn't see an immediate use for.
a true forward looking point of view.
That sounds like sarcasm. I've already explained how it is easier to add stuff that was missed that to delete stuff that shouldn't have been added. Also, with broadband internet, the boost documentation so accessible from the web site that it doesn't need to be added locally.
actually you don't need to "understand it" to use it, anymore than you need to understand the workings of the transmission in the auto you drive.
I do need to understand the documentation before I use it, and in the example I cited the documentation is long and complex. Also, I need to debug code, and that often does require understanding how it works. I must be a car mechanic as well as a driver.
I find it difficult to believe that min and or max got "redefined" such that they became unusable (I'm pretty sure it would have shown up in the regression testing. I recall no such incident).
The root problem, as I thought we'd agreed, is that Microsoft wrongly defines them as macros. This means code like: long x = max( 1L, 1 ); works. I found that #including boost reverted to the standard-conforming definition, which meant the above became ambiguous as the 2 arguments have different types. Don't let's pay this issue more attention than it deserves. I doubt boost can do any better than it is doing, here. -- Dave Harris, Nottingham, UK.