Crate sync_ptr

Crate sync_ptr 

Source
Expand description

§sync-ptr

Sync & Send wrappers for raw pointer’s in rust. To use add use sync_ptr::*; to your file, then you should be able to call my_ptr.as_sync_const() among others on any raw pointer to get a wrapped version of your raw pointer that is Sync/Send.

Example:

use std::ffi::c_void;
use sync_ptr::*;

fn my_func(some_ptr: *mut c_void) {
    let ptr: SyncMutPtr<c_void> = some_ptr.as_sync_mut();
    std::thread::spawn(move || {
        let _some_ptr : *mut c_void = ptr.inner();
    });
}

Structs§

SendConstPtr
Wrapped const raw pointer that is Send but not Sync
SendMutPtr
Wrapped mutable raw pointer that is Send but not Sync
SyncConstPtr
Wrapped const raw pointer that is Send+Sync
SyncMutPtr
Wrapped mutable raw pointer that is Send+Sync

Traits§

FromConstPtr
Helper trait for every *const T and *mut T to add fn’s to wrap it into a Sync/Send wrapper.
FromMutPtr
Helper trait for every *mut T to add fn’s to wrap it into a Sync/Send wrapper.