decode

fndchar 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

useReplacementDcharif invalid UTF, return replacementDchar rather than throwing
strinput string or indexable Range
indexstarting 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

fndchar decode(UseReplacementDchar useReplacementDchar = No.useReplacementDchar, S)( auto ref scope S str, ref size_t index) if (isSomeString!S) @trusted pure

ditto