Boost logo

Boost :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2004-09-07 10:02:07


Carlo Wood wrote:
>On Tue, Sep 07, 2004 at 07:41:25AM +0200, John Torjo wrote:
> > Why binary? I could see lots of uses for text as well.
>
>Because text is a special case of binary. If the library
>supports streambufs, and when it would support the concept
>of 'message blocks', then "text" just means that you'd
>detect End-Of-Line sequences and cut the stream into
>messages that are in fact lines of text.

Bring a text stream means that you do \r\n <--> \n normalization for the
streams (or whatever end of line encoding your OS uses). That, AFAIK, is the
only percievable difference between the two modes according to the standard.
(I am not sure how text streams handle '\0').

>Actually putting that text in a std::string and doing
>some work on it should be in user code imho.

This would be inefficient in most contexts. Especially if you have a complex
filter chain with inbuilt buffers that are only concerned with
character-by-character processing.

I understand that in some cases it would be useful to see the data as a
sequence of lines stored as std::string, but then isn't that what:

   std::string str;
   std::ifstream in( "data.txt" );
   while( std::getline( in, str ))
   {
      std::cout << "line = " << str << '\n';
   }

is for?

Regards,
Reece

_________________________________________________________________
It's fast, it's easy and it's free. Get MSN Messenger today!
http://www.msn.co.uk/messenger


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