FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Working on TextStream

Post new topic   Reply to topic     Forum Index -> Indigo
View previous topic :: View next topic  
Author Message

Joined: 29 Sep 2004
Posts: 41

PostPosted: Thu Oct 06, 2005 6:24 am    Post subject: Working on TextStream Reply with quote

I've started work on TextStream. At the moment I'm using the codec directly to do the translations, but it can be changed to use TE/D when that's ready. I've already noticed a few things that need thinking about:

1. I don't really like generateByteOrderMark. Firstly the name is misleading - it sounds like a method that outputs the BOM there and then, but it's actually a property. Secondly, the documentation for the setter states "This function must be called before any data is written. Otherwise, it does nothing." But what cases does "before any data is written" cover exactly?

The behaviour of generateByteOrderMark and autoDetectUnicode needs thinking about in any case. Will they be automatically set to false after use, so that it doesn't keep doing it for every read or write operation, or shall a separate internal variable be used for this? Will they be reset to default values when the device is changed? (What about when you seek back to the beginning of the device, FTM?)

2. The Qt documentation for integerBase and NumberFlags seems a bit contradictory - the integerBase documentation indicates that only 2, 8, 10 and 16 are supported, but NumberFlags talks of bases up to 36. How far should we go with supporting bases?

3. Should we have separate UTF-8 and UTF-16 versions of readAll and readLine? What should we call them?

4. Which definition of space should be used for skipWhitespace and for reading a word at a time? u_isspace, u_isWhiteSpace or u_isUWhiteSpace?

5. Should opShr(out char) and opShr(out wchar) be allowed? If the character extracted equals more than one UTF-8 or UTF-16 fragment, should it buffer them and return each with successive opShr calls? Or throw an exception? Or what? Moreover, what if the application tries to mix reading/writing chars, wchars and dchars?

6. If an I/O operation throws a CodecException, how should the stream be left?

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Indigo All times are GMT - 6 Hours
Page 1 of 1

Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2005 phpBB Group