View source code
Display the source code in std/utf.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.utf.toUCSindex
Given into index and assuming that str is at the start
of a UTF sequence, index determines the number of UCS characters
up to toUCSindex. So, index is the indexindex of a code unit at the
beginning of a code point, and the return value is how many code points into
the string that that code point is.
Prototype
size_t toUCSindex(C)( const(C)[] str, size_t index ) pure @safe if (isSomeChar!C);
Example
assert(toUCSindex(hello world, 7) == 7); assert(toUCSindex(hello worldw, 7) == 7); assert(toUCSindex(hello worldd, 7) == 7); assert(toUCSindex(Ma Chérie, 7) == 6); assert(toUCSindex(Ma Chériew, 7) == 7); assert(toUCSindex(Ma Chéried, 7) == 7); assert(toUCSindex(さいごの果実 / ミツバチと科学者, 9) == 3); assert(toUCSindex(さいごの果実 / ミツバチと科学者w, 9) == 9); assert(toUCSindex(さいごの果実 / ミツバチと科学者d, 9) == 9);
Authors
Walter Bright and Jonathan M Davis