From: Gabriel Dos Reis (Gabriel.Dos-Reis_at_[hidden])
Date: 2001-01-25 14:10:52
"Dean Sturtevant" <deansturtevant_at_[hidden]> writes:
| I think it behooves us to consider what the ultimate goal of boost
| is. Unless I misunderstand, it is to provide a service to the C++
| programming community to allow them to reduce the time spent
| developing, coding, and debugging useful tools. To the extent that
| standard-conformance helps them do that, great. But if the standard
| gets in the way, don't let it.
Well consider std::less<T*>. Formally the Standard consider it
undefined to compare pointers which are part not part of the same
array. How would you define it if you get a compiler which doesn't
define it? If Boost were to define such class template, should it
require the Standard to remove that restriction? My point is that
there are many areas where the Standard gets in the way of "normal"
users, but not for implementor.
The std:: overloading issue isn't just that simple, and I don't think
a handweaving solution is just that simple.
| ... My imagination has proved deficient
| before, but I'll use it again -- I don't imagine there will be a
| compiler that will detect situations where the user
| overrides/specializes std:: functions.
What can prevent a compiler to do that?
| ... (I wouldn't like a compiler to
| prevent me from using STLPort, for instance)
As far as the compiler acknowledges that STLPort is part of its
implementation, there is nothing which could prevent STLPort to do what
"normal" users aren't allowed to do. That is the difference between
implementors and "normal" users.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk