diff options
| author | Freyskeyd <simon.paitrault@gmail.com> | 2019-07-08 16:03:29 +0200 |
|---|---|---|
| committer | Freyskeyd <simon.paitrault@gmail.com> | 2019-07-09 16:55:00 +0200 |
| commit | bc322af444006973addb3e65bcd74f033080402b (patch) | |
| tree | 50c00b32bdc3472bf4b2f2829168c8c9e8bbfb35 /src/libcore | |
| parent | 10840b8ae2182128f2e1c84b8aaf41452728de07 (diff) | |
| download | rust-bc322af444006973addb3e65bcd74f033080402b.tar.gz rust-bc322af444006973addb3e65bcd74f033080402b.zip | |
doc(ptr): add example for {read,write}_unaligned
Signed-off-by: Freyskeyd <simon.paitrault@gmail.com>
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/ptr/mod.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/libcore/ptr/mod.rs b/src/libcore/ptr/mod.rs index 2a6c2b1331e..df66a2978de 100644 --- a/src/libcore/ptr/mod.rs +++ b/src/libcore/ptr/mod.rs @@ -669,6 +669,22 @@ pub unsafe fn read<T>(src: *const T) -> T { /// /// Accessing unaligned fields directly with e.g. `packed.unaligned` is safe however. // FIXME: Update docs based on outcome of RFC #2582 and friends. +/// +/// # Examples +/// +/// Read an usize value from a byte buffer: +/// +/// ``` +/// use std::mem; +/// +/// fn read_usize(x: &[u8]) -> usize { +/// assert!(x.len() >= mem::size_of::<usize>()); +/// +/// let ptr = x.as_ptr() as *const usize; +/// +/// unsafe { ptr.read_unaligned() } +/// } +/// ``` #[inline] #[stable(feature = "ptr_unaligned", since = "1.17.0")] pub unsafe fn read_unaligned<T>(src: *const T) -> T { @@ -839,6 +855,22 @@ pub unsafe fn write<T>(dst: *mut T, src: T) { /// /// Accessing unaligned fields directly with e.g. `packed.unaligned` is safe however. // FIXME: Update docs based on outcome of RFC #2582 and friends. +/// +/// # Examples +/// +/// Write an usize value to a byte buffer: +/// +/// ``` +/// use std::mem; +/// +/// fn write_usize(x: &mut [u8], val: usize) { +/// assert!(x.len() >= mem::size_of::<usize>()); +/// +/// let ptr = x.as_mut_ptr() as *mut usize; +/// +/// unsafe { ptr.write_unaligned(val) } +/// } +/// ``` #[inline] #[stable(feature = "ptr_unaligned", since = "1.17.0")] pub unsafe fn write_unaligned<T>(dst: *mut T, src: T) { |
