#[no_mangle]
pub const extern "C" fn nstd_core_slice_get(
    slice: &NSTDSlice,
    pos: NSTDUInt
) -> NSTDAny
Available on crate feature nstd_core only.
Expand description

Returns an immutable pointer to the element at index pos in slice.

Parameters:

  • const NSTDSlice *slice - The slice to read an element from.

  • NSTDUInt pos - The position of the element to get, starting at 0.

Returns

NSTDAny element - A pointer to the element at pos or NSTD_NULL if pos is out of the slice’s boundaries.

Example

use nstd_sys::core::slice::{nstd_core_slice_get, nstd_core_slice_new};

const STRIDE: usize = core::mem::size_of::<i32>();

let numbers: [i32; 3] = [33, 103, 45];
let slice = nstd_core_slice_new(numbers.as_ptr().cast(), STRIDE, numbers.len()).unwrap();

unsafe {
    assert!(*nstd_core_slice_get(&slice, 0).cast::<i32>() == 33);
    assert!(*nstd_core_slice_get(&slice, 1).cast::<i32>() == 103);
    assert!(*nstd_core_slice_get(&slice, 2).cast::<i32>() == 45);
    assert!(nstd_core_slice_get(&slice, 3).is_null());
}