Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2004-05-06 10:12:13


Thorsten Ottosen wrote:
> "Peter Dimov" <pdimov_at_[hidden]> wrote in message
> news:00aa01c43369$1959e180$1d00a8c0_at_pdimov2...
>> Thorsten Ottosen wrote:
>>>
>>> Let's assume this library is to be called Range Traits with
>>> RangeConcept, ExternalRangeConcept and,
>>> ExternalReversibleRangeConcept, can John/Mathew then find a
>>> reasonable name for their concept:
>>>
>>> crange<T> r = make_range( vector );
>>> while( r )
>>> {
>>> ++r; *r;
>>> }
>>>
>>> could they call their stuff TraversableRangeConcept or
>>> EnumerableRangeConcept or IteratorRangeConcept?
>>
>> Why invent a new concept? This is an Iterator that is
>> ConvertibleToBool.
>
> because I assume it will also have member functions that makes it a
> Range, ie, begin(), end(), empty(), size(). So it merges ranges with
> iterators.

Range is begin(), end(); Iterator is ++ and *, and ConvertibleToBool is
if( x ). A concept only specifies the minimal requirements. If we had to
invent new concepts for every combination, we wouldn't be able to get
anything else done, combinatorial explosion and all. ;-)


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