orx-concurrent-iter 3.3.0

A thread-safe and ergonomic concurrent iterator trait and efficient lock-free implementations.
Documentation
1
2
3
4
5
6
7
use core::mem::MaybeUninit;

pub(crate) unsafe fn take<T>(ptr: *mut T) -> T {
    let mut value = MaybeUninit::<T>::uninit();
    unsafe { value.as_mut_ptr().swap(ptr) };
    unsafe { value.assume_init() }
}