#[no_mangle]
pub unsafe extern "C" fn encoder_encode_from_utf16_without_replacement(
    encoder: *mut Encoder,
    src: *const u16,
    src_len: *mut usize,
    dst: *mut u8,
    dst_len: *mut usize,
    last: bool
) -> u32
Expand description

Incrementally encode into byte stream from UTF-16 without replacement.

See the top-level FFI documentation for documentation for how the encoder_encode_* functions are mapped from Rust and the documentation for the Encoder struct for the semantics.

src must be non-NULL even if src_len is zero. Whensrc_len is zero, it is OK for src to be something non-dereferencable, such as 0x1. Likewise for dst when dst_len is zero. This is required due to Rust’s optimization for slices within Option.

Undefined behavior

UB ensues if any of the pointer arguments is NULL, src and src_len don’t designate a valid block of memory or dst and dst_len don’t designate a valid block of memory.