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 index into str and assuming that index is at the start of a UTF sequence, toUCSindex determines the number of UCS characters up to index. So, index is the index 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

License

Boost License 1.0.

Comments