Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2000-09-09 15:49:24


Sorry it took so long. I figure I've owed Daryle this feedback long enough
;)

Overall, it looks good. These incremental improvements should help to
complete the picture.

Problems:

IMO, the names you've chosen for null_default_quantifiable,
zero_default_quantifiable, and idempotent are too obscure.

Documentation:

In the table you claim that operators<T, U> adds "idempotent<T>, and
zero_default_quantifiable<T>" to the capabilities of the operators<T>
template, but looking at the code it seems that it does not do that.

In the Notation section, you write:
    MTis the type of the pointer to member of V in member_dereferenceable.

I think it would be much clearer to say that
    MTis the type of some member of V.

You also write:

    m is a member of type MT for class V (or an unambiguous base class of V
[applied recursively]).

I think it would be much clearer and more accurate to say that

        m is a pointer-to-member-of-class V of type MT.

I don't think I agree with the idea of adding operator void*() const and
bool operator!(const T& x) to the forward_iterator_helper. These are not
part of the requirements for forward iterators. Furthermore, there are
plenty of (standard) iterators for which the default-constructed value is
unusable, even for comparisons (e.g. std::set<T>::iterator()).

I notice that this forced you to add default-construction to the test_iter
example. While this could be seen as a good thing, since all Iterators are
technically required to be default-constructible, I think this is a defect,
and there are plenty of useful iterators (small 'i') which aren't.

-Dave

----- Original Message -----
From: "Daryle Walker" <darylew_at_[hidden]>
To: "Boost" <boost_at_[hidden]>
Sent: Saturday, September 09, 2000 12:37 PM
Subject: [boost] Re: New members of functional.hpp

> on 9/8/00 1:04 AM, Daryle Walker at darylew_at_[hidden] wrote:
>
> > I like it. I like it so much that I've already put a preliminary
version,
> > with new documentation file, in the Boost vault. They are under the
> > "dlw_functional" folder.
> >
> > I've been wishing for classes like this for several weeks, but with
another
> > operator (not in the standard list). I guess your post got me to start
doing
> > it myself. I think for the next version I'll add the other extensible
> > operators (like << delete , [] =), then most of the remaining operators.
>
> I just updated the files with the other extensible operators. The URL
> should be <http://www.egroups.com/files/boost/dlw_functional/>.
>
> --
>
>
>
>
>


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