simdjson-rust 0.3.0-alpha

Rust bindings for the simdjson project.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use std::ptr::NonNull;

use simdjson_sys as ffi;

#[inline]
pub fn string_view_to_str<'a>(sv: NonNull<ffi::STD_string_view>) -> &'a str {
    let s = unsafe {
        let s = std::slice::from_raw_parts(
            ffi::STD_string_view_data(sv.as_ptr()).cast(),
            ffi::STD_string_view_size(sv.as_ptr()),
        );
        std::str::from_utf8_unchecked(s)
    };
    unsafe { ffi::STD_string_view_free(sv.as_ptr()) };
    s
}