Boost logo

Boost :

Subject: Re: [boost] Data / String Ref library
From: Olaf van der Spek (olafvdspek_at_[hidden])
Date: 2011-03-29 13:51:10


On Tue, Mar 29, 2011 at 7:41 PM, Mathias Gaunard
<mathias.gaunard_at_[hidden]> wrote:
>> Using const void* allows the callee to easily pass whatever he wants,
>> using iterator_range<const unsigned char*>  requires him to do an ugly
>> cast.
>>
>> iterator_range also includes the terminator, which IMO is wrong.
>
> iterator_range is a pair of iterators. In the case of iterator_range<const
> unsigned char*>, it's a pair of pointers.
>
> It only includes what you instruct it to.
>
> Use boost::as_literal to construct an iterator_range from a string literal.

Before: void f(const string&); f("Olaf");
After: void f(string_ref); f("Olaf");

I do not want to change the API and I certainly don't want callers to
have to use boost::as_literal around every literal.

-- 
Olaf

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