|
Boost : |
From: Howard Hinnant (hinnant_at_[hidden])
Date: 2000-10-15 20:17:33
David Abrahams wrote on 10/15/2000 4:30 PM
>I also think that this solution is "More OK", since after all, any library's
>interface of these non-standard elements may differ in arbitrary ways. One
>thing we could do, for example, is to "simply" hijack these classes from
>STLport. Even that solution is likely to amount to lots of work, and will
>have some undesirable side-effects (e.g., some users will wish we were using
>their library's built-in component). I'm not sure it's worth it.
What about hijacking the native implementation, if available? Maybe
something along the lines of:
#ifndef BOOST_NO_SLIST
#include <slist>
namespace boost
{
#ifdef __MWERKS__
using Metrowerks::slist;
#else
using std::slist;
#endif
}
#endif // BOOST_NO_SLIST
Of course this would only work if the interface of the various
implementations is common enough for boost's uses. I'm not positive
whether or not that is the case, but I think it is a possibility worth
exploring. If there are differences causing problems, perhaps the boost
version could just serve as an adapter from the native interface to the
common interface.
This approach would expose the strengths and weaknesses of different
implementations which would ultimately better serve the C++ standard
should slist or the hash containers be adopted into it.
-Howard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk