View source code Display the source code in std/uni.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.uni.byCodePoint

Lazily transform a range of Graphemes to a range of code points.

Useful for converting the result to a string after doing operations on graphemes.

Acts as the identity function when given a range of code points.

Prototypes

auto byCodePoint(Range)(
  Range range
)
if (isInputRange!Range && is(Unqual!(ElementType!Range) == Grapheme));

Range byCodePoint(Range)(
  Range range
)
if (isInputRange!Range && is(Unqual!(ElementType!Range) == dchar));

Example

import std.conv : text;
import std.range;

string s = "noe\u0308l"; // noël

// reverse it and convert the result to a string
string reverse = s.byGrapheme
    .array
    .retro
    .byCodePoint
    .text;

assert(reverse == "le\u0308on"); // lëon

Authors

Dmitry Olshansky

License

Boost License 1.0.

Comments