
On Mon, Dec 21, 2009 at 8:08 PM, Jason Felice <jason.m.felice@gmail.com> wrote:
On Mon, Dec 21, 2009 at 3:41 PM, Scott McMurray <me22.ca+boost@gmail.com> wrote:
2009/12/21 Jason Felice <jason.m.felice@gmail.com>:
I'm looking for binary (value_type = unsigned char) input and output iterators for files. This is as opposed to a character base iterator (which rules out ostream_iterator<>).
If you can accept char instead of unsigned char, then use the standard streambuf iterators, istreambuf_iterator and ostreambuf_iterator.
Can I rely on there being no character set or line ending translation for an istream_iterator<char>, even with ios::binary? I thought not.
The answer appears to be "yes". After much research, the codecvt<char,char,..> locale facet is specialized to do nothing, so no character set conversion will occur for narrow versions of the stream, regardless of locale. (ios::binary is required, of course).