On Friday, 26 July 2013 at 05:26:33 UTC, anonymous wrote:
Should I always use std.uni.isWhite, unless I'm working with bytes and byte arrays?

No, char vs byte isn't necessarily a thing here.

I realized after I posted this that I was being stupid in even suggesting that, seeing as all the functions in std.ascii take dchars.

The documentation doesn't give me much to go on, beside "All of the functions in std.ascii accept unicode characters but effectively ignore them. All isX functions return false for unicode characters, and all toX functions do nothing to unicode characters."

You should use std.uni.isWhite unless you want to match only ASCII white space.

That could be the case when ...
* You have data that is not in Unicode, but some other superset of ASCII. Then you shouldn't use std.uni.isWhite, of course. std.ascii.isWhite might be fine. In this case, you'd actually use u{byte,short,int} instead of {,w,d}char. * You're dealing with a grammar where ASCII white space is a thing, while Unicode white space is not. * There's really only ASCII white space in your data, and you want every bit of speed, and you've verified that std.ascii.isWhite is indeed faster than std.uni.isWhite.

Thank you for the informative answer.

Reply via email to