pub fn atomic_replace(&self, current_value: IndexPtr, new_value: IndexPtr) -> bool {

        let atomic_self: *mut atomic::AtomicU64 = unsafe { mem::transmute( self ) };

        let prev = unsafe {
            (*atomic_self).compare_and_swap(
                mem::transmute(current_value),
                mem::transmute(new_value),
                atomic::Ordering::Relaxed)
        };

        prev == unsafe { mem::transmute(current_value) }

    }
/// atomically replaces a hash indexptr value with a new_value,
/// fails if the current value is no longer the value supplied
atomically replaces a hash indexptr value with a new_value,
fails if the current value is no longer the value supplied
atomically replaces a hash indexptr value with a new_value fails if the current value is no longer the value supplied
pub fn atomic_replace(&self, current_value: IndexPtr, new_value: IndexPtr) -> bool {
        let atomic_self: *mut atomic::AtomicU64 = unsafe { mem::transmute( self ) };
        let prev = unsafe {
            (*atomic_self).compare_and_swap(
                mem::transmute(current_value),
                mem::transmute(new_value),
                atomic::Ordering::Relaxed)
        };
        prev == unsafe { mem::transmute(current_value) }
    }
pub fn atomic_replace ( & self , current_value : IndexPtr , new_value : IndexPtr ) -> bool { let atomic_self : * mut atomic :: AtomicU64 = unsafe { mem :: transmute ( self ) } ; let prev = unsafe { ( * atomic_self ) . compare_and_swap ( mem :: transmute ( current_value ) , mem :: transmute ( new_value ) , atomic :: Ordering :: Relaxed ) } ; prev == unsafe { mem :: transmute ( current_value ) } }
atomically replaces a hash indexptr value with a new_value,
fails if the current value is no longer the value supplied
atomically replaces a hash indexptr value with a new_value fails if the current value is no longer the value supplied
&self
current_value
IndexPtr
new_value
IndexPtr
&self
current_value
IndexPtr
new_value
IndexPtr