decode
fn
dchar decode(UseReplacementDchar useReplacementDchar = No.useReplacementDchar, S)(auto ref S str, ref size_t index) if (!isSomeString!S &&
isRandomAccessRange!S && hasSlicing!S && hasLength!S && isSomeChar!(ElementType!S))Decodes and returns the code point starting at str[index]. index is advanced to one past the decoded code point. If the code point is not well-formed, then a UTFException is thrown and index remains unchanged.
decode will only work with strings and random access ranges of code units with length and slicing, whereas decodeFront will work with any input range of code units.
Parameters
useReplacementDchar | if invalid UTF, return replacementDchar rather than throwing |
str | input string or indexable Range |
index | starting index into s[]; incremented by number of code units processed |
Returns
decoded character
Throws
UTFException if
str[index] is not the start of a valid UTF
sequence and useReplacementDchar is No.useReplacementDchar
fn
dchar decode(UseReplacementDchar useReplacementDchar = No.useReplacementDchar, S)(
auto ref scope S str, ref size_t index) if (isSomeString!S) @trusted pureditto