INNER CODE UNIT · Rust

cast_handle

deepjavalibrary/djl · extensions/tokenizers/rust/src/lib.rs:931

fn cast_handle<T>(handle: jlong) -> &'static mut T {
    assert_ne!(handle, 0, "Invalid handle value");

    let ptr = handle as *mut T;
    unsafe { &mut *ptr }
}

fn drop_handle<T: 'static>(handle: jlong) {
    unsafe {
        let _ = Box::from_raw(handle as *mut T);
    }
}

fn to_string_array(env: &mut JNIEnv, data: Vec<String>) -> Result<jobjectArray, Error> {
    let arr = env.new_object_array(data.len() as i32, "java/lang/String", JObject::null())?;

    for (i, val) in data.into_iter().enumerate() {
        let s = env.new_string(val)?;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…