Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2005-09-07 12:41:03


Thorsten Ottosen wrote:
> Thorsten Ottosen <nesotto <at> cs.aau.dk> writes:
>
>>would the following suffice?
>
>
> hm... no attachments via web-interface.
>
> Please see
>
> https://www.cs.aau.dk/~nesotto/C++/doc/boost_range.html#minimal_interface
>
> instead.
>

This looks good. Thanks for taking care of this. I still have a problem
with range_value<> and friends. To satisfy the Range concept, users are
required to specialize boost::range_value<> in spite of the fact that it
will always be equivalent to std::iterator_traits<Range>::value_type.
This makes Range harder to extend for no benefit. The Range library can
provide range_value<> without requiring users to specialize it.

Regarding the concepts, it is correct to say, as you do, that the calls
to begin(), end(), et al., must be qualified by boost::. But they also
must say that the following is also well formed and has the same meaning:

     using namespace unspecified-namespace;
     boost_range_begin(x);

I think you should also say somewhere (but not necessarily in the
Concepts section) that unspecified-namespace contains the
implementations of boost_range_begin(), et al., for the std containers,
std::pair, arrays and null-terminated strings. I think that should do
it. Does anybody have a better suggestion?

-- 
Eric Niebler
Boost Consulting
www.boost-consulting.com

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