$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: rogeeff (rogeeff_at_[hidden])
Date: 2002-02-19 01:09:56
--- In boost_at_y..., Thomas Witt <witt_at_i...> wrote:
> Gennadiy
> 
[...]
> The main changes are:
> 
> Added a const here and there.
The only placewhere I would agree to put const in constructor: const& 
instead of value. You can't make class data members const. First of 
all it prevent implementing mutable iterators and second you can't 
even assign const iterator. Also I do not see any paractical reasons 
in defining local veriables in 2 line inline function const. Do you?
> 
> Added make_cycle_iterator with iterator position (+ only works for 
random 
> access iterators). What do you think about the interface. 
Specifying three 
> iterators seemed to error prone to me.
I do not like the idea by itself. Since you can't check that this 
iterator position is in a range it could be very dengerous. For 
example, surprisingly the following statement would be an infinite 
loop:
v - some container
std::copy( boost::make_cycle_iterator( v ),
           boost::make_cycle_iterator( v.end(), v ),
           std::ostream_iterator( std::cout, "" ) );
I do not think you need this ability in a real life for cycle 
iterator.
> 
> Removed make_cycle with container argument. 
I think creating cycle iterator for container would be the most 
frequently used feature. But we can't pass container by value. So we 
need to choose between const/mutable reference. After some 
consideration I would probably choose const version now.
[...]
> 
> Thomas 
> 
Gennadiy