$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Miro Jurisic (macdev_at_[hidden])
Date: 2004-10-22 12:03:15
In article <uoeiuu4n6.fsf_at_[hidden]>,
 David Abrahams <dave_at_[hidden]> wrote:
> Is this going to be illegal for most fs, then?
> 
>    std::copy(
>         std::istream_iterator<char>(f), std::istream_iterator<char>(),
>         std::back_inserter(my_utf8_string));
> 
> I think it pretty much has to work.
I think this is a red herring. A UTF-8 string is not a sequence of chars, nor is 
every char convertible to a UTF-8 char, so why should this work any more than
vector<void*>     my_vector;
    std::copy(
         std::istream_iterator<char>(f), std::istream_iterator<char>(),
         std::back_inserter(my_vector));
?
OTOH, A UTF-8 string is a sequence of Unicode chars, so what should work is:
    std::copy(
         std::istream_iterator<unicode_char>(f), 
std::istream_iterator<unicode_char>(),
         std::back_inserter(my_utf8_string));
with the semantics that every time you hit the iterator, an entire unicode 
character is read off the stream and appended to the string.
meeroh