Function core::ptr::swap_nonoverlapping [] [src]

pub unsafe fn swap_nonoverlapping<T>(x: *mut T, y: *mut T, count: usize)
🔬 This is a nightly-only experimental API. (swap_nonoverlapping #42818)

Swaps a sequence of values at two mutable locations of the same type.

Safety

The two arguments must each point to the beginning of count locations of valid memory, and the two memory ranges must not overlap.

Examples

Basic usage:

#![feature(swap_nonoverlapping)]

use std::ptr;

let mut x = [1, 2, 3, 4];
let mut y = [7, 8, 9];

unsafe {
    ptr::swap_nonoverlapping(x.as_mut_ptr(), y.as_mut_ptr(), 2);
}

assert_eq!(x, [7, 8, 3, 4]);
assert_eq!(y, [1, 2, 9]);Run