View source code
Display the source code in std/encoding.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.encoding.codePoints
Returns a foreachable struct which can bidirectionally iterate over all code points in a string.
The input to this function MUST be validly encoded.
This is enforced by the function's
in-contract.
You can foreach either
with or without an index
. If an index
is specified, it will be initialized
at each iteration with the offset into the string at which the code point
begins.
Prototype
CodePoints!E codePoints(E)( immutable(E)[] s );
Supersedes
This function supersedes std.utf.decode
().
Standards
Unicode 5.0, ASCII, ISO-8859-1, WINDOWS-1252
Parameters
Name | Description |
---|---|
s | the string to be decoded |
Examples
string s = "hello world"; foreach(c;codePoints(s)) { // do something with c (which will always be a dchar) }
Note that, currently, foreach(c:codePoints
(s
)) is superior to foreach(c;s
)
in that the latter will fall over on encountering U+FFFF.
Example
string s = "hello"; string t; foreach(c;codePoints(s)) { t ~= cast(char)c; } assert(s == t);
Authors
Janice Caron