toString16

Encode Utf16 up to a maximum of 2 bytes long. Throws an exception where the input dchar is greater than 0x10ffff.

If the output is provided off the stack, it should be large enough to encompass the entire transcoding; failing to do so will cause the output to be moved onto the heap instead.

Returns a slice of the output buffer, corresponding to the converted characters. For optimum performance, the returned buffer should be specified as 'output' on subsequent calls.

Where 'ate' is provided, it will be set to the number of elements consumed from the input, and the output buffer will not be resized (or allocated). This represents a streaming mode, where slices of the input are processed in sequence rather than all at one time (should use 'ate' as an index for slicing into unconsumed input).

  1. inout(wchar[]) toString16(inout(wchar[]) src, wchar[] dst, size_t* ate)
  2. wchar[] toString16(const(char[]) input, wchar[] output, size_t* ate)
  3. wchar[] toString16(const(dchar[]) input, wchar[] output, size_t* ate)
    wchar[]
    toString16
    (
    const(dchar[]) input
    ,
    wchar[] output = null
    ,
    size_t* ate = null
    )

Meta