Boost logo

Boost :

From: Jens Maurer (Jens.Maurer_at_[hidden])
Date: 2001-01-21 14:46:08


David Abrahams wrote:
>
> New Files:
> boost/detail/iterator.hpp
> Portable working versions of the following, in namespace detail:
> std::iterator_traits<>::iterator_category
> std::iterator_traits<>::difference_type
> std::distance()

We already have a boost/iterator.hpp which is supposed to supply
a replacement for std::iterator.

Can we please merge the two header files?

I believe that all compiler/library workarounds should vanish one day
(when all compilers/libraries are compliant), thus I think these
bug workarounds should not have the same status as other boost
contributions which provide value in addition to the standard library.

On the other hand, these fixes to not have "detail" status, because we
(should) document these fixes and these help the end-user write more
portable programs as well.

Could we have a boost/std-bugfix with the following policy:

"The boost/std-bugfix directory contains header files with the
same name as the ISO C++ standard header files, with a .hpp suffix
appended, e.g. boost/std-bugfix/iterator.hpp. These files intend
to provide bug fixes to the vendor-provided standard library
implementations while these implementations are in the process of
becoming ISO conformant. If some header file in boost/std-bugfix/XXX.hpp
exists, you should use it unconditionally when writing boost code
instead of the standard <XXX>, so that portability is enhanced.
All names in these headers should be in namespace boost or
boost::detail."

(Would a namespace boost::std_bugfix be better? I don't think so,
because it uglifies user code rather heavily.)

The advantage of moving these files out of boost/ is that it removes
clutter in boost/ and makes users aware that they are not using
some boost feature-enhanced class, but just the standard one with
bugfixes.

(A <limits> file for gcc would fit in there nicely.)

Note that feature fixes to the specified standard library (such
as boost::integer_traits) should remain in the main boost directory.

Jens Maurer


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk