On Wed, Nov 3, 2010 at 1:56 PM, Matthieu Brucher
<matthieu.brucher@gmail.com> wrote:
Hi,
I have a scoped_array with some chars inside (so a
boost::scoped_array<char>). I want to use the string algorithms, but I
can't managed to get a range from the scoped_array.
I don't know if the data ends with a '\0' (it's received from asio
with a read()), so I can't rely on as_literal.
AFAICT boost::scoped_array only stores the array as a pointer, hence the size information is lost and it is not possible to obtain the end of the conceptual range from this class alone. boost::scoped_array is primarily intended to work in a similar fashion to boost::scoped_ptr but for allocations that require a corresponding delete[].
Perhaps consider boost::array, std::string, or std::vector instead?
Is there a way of creating a Range directly with two iterators?
Yes, there is - boost::make_iterator_range(first, last)
Matthieu
--
Information System Engineer, Ph.D.
Blog: http://matt.eifelle.com
LinkedIn: http://www.linkedin.com/in/matthieubrucher
_______________________________________________