$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Breaking existing libraries
From: Michael Marcin (mike.marcin_at_[hidden])
Date: 2008-12-03 14:50:17
David Abrahams wrote:
>
> Seems to me, requiring empty() in ranges is sort of equivalent to
> requiring iterators to support distance.
>
Does removing empty from the range concept prevent the empty algorithm
from being specialized for ranges with a more efficient way to determine
calculate empty?
For instance a vector-like range might store a pointer to the first
element and a element count in this case empty is
bool empty() const { return !count; }
where as the default range empty is equivalent to writing empty as
bool empty() const { return p != p+count; }
perhaps there is a range refinement which can support ranges which have
a more efficient empty?
-- Michael Marcin