Commits
Howard Hinnant committed 8856293d940
Two major changes here: Char has been renamed to Char8. This is a temporary hack with the intent that Char8 will soon dissappear. But I'm refactoring and didn't want to break things. A new type Char has been introduced. It behaves somewhat like a cross between a UInt32 and a pointer type. It compares like a UInt32. It has arithmetic like a pointer, with the difference_type being Int. The second major change is the introduction of StringCharRange (name donated by Doug). It is attempting to be a range over String respecting that String is stored as UTF-8. It is intended that an invariant of String is that it can only hold valid null-terminated UTF-8 (to reduce validation costs). I also modified the cpp implementation of printChar to accept UTF-32 and print it out via printf using UTF-8. Still to be done is address the FIXME's in String to transition to UTF-8. I'm hoping this can be done with the new StringCharRange and foreach. But I do not know for sure. I've run out of steam for the night (still on EDT). For those of you who have more steam for the night and are working hard towards our demo, please feel free to pick any of this up and modify it in whatever way helps the demo best, even if that means reverting it. Swift SVN r1619