mirror of
https://github.com/rust-embedded/heapless.git
synced 2025-09-28 21:10:28 +00:00
1036 lines
151 KiB
HTML
1036 lines
151 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ByteOrder` trait in crate `byteorder`."><meta name="keywords" content="rust, rustlang, rust-lang, ByteOrder"><title>byteorder::ByteOrder - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../byteorder/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Trait ByteOrder</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.from_slice_f32">from_slice_f32</a><a href="#tymethod.from_slice_f64">from_slice_f64</a><a href="#tymethod.from_slice_u128">from_slice_u128</a><a href="#tymethod.from_slice_u16">from_slice_u16</a><a href="#tymethod.from_slice_u32">from_slice_u32</a><a href="#tymethod.from_slice_u64">from_slice_u64</a><a href="#tymethod.read_u128">read_u128</a><a href="#tymethod.read_u128_into">read_u128_into</a><a href="#tymethod.read_u16">read_u16</a><a href="#tymethod.read_u16_into">read_u16_into</a><a href="#tymethod.read_u32">read_u32</a><a href="#tymethod.read_u32_into">read_u32_into</a><a href="#tymethod.read_u64">read_u64</a><a href="#tymethod.read_u64_into">read_u64_into</a><a href="#tymethod.read_uint">read_uint</a><a href="#tymethod.read_uint128">read_uint128</a><a href="#tymethod.write_u128">write_u128</a><a href="#tymethod.write_u128_into">write_u128_into</a><a href="#tymethod.write_u16">write_u16</a><a href="#tymethod.write_u16_into">write_u16_into</a><a href="#tymethod.write_u32">write_u32</a><a href="#tymethod.write_u32_into">write_u32_into</a><a href="#tymethod.write_u64">write_u64</a><a href="#tymethod.write_u64_into">write_u64_into</a><a href="#tymethod.write_uint">write_uint</a><a href="#tymethod.write_uint128">write_uint128</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.from_slice_i128">from_slice_i128</a><a href="#method.from_slice_i16">from_slice_i16</a><a href="#method.from_slice_i32">from_slice_i32</a><a href="#method.from_slice_i64">from_slice_i64</a><a href="#method.read_f32">read_f32</a><a href="#method.read_f32_into">read_f32_into</a><a href="#method.read_f32_into_unchecked">read_f32_into_unchecked</a><a href="#method.read_f64">read_f64</a><a href="#method.read_f64_into">read_f64_into</a><a href="#method.read_f64_into_unchecked">read_f64_into_unchecked</a><a href="#method.read_i128">read_i128</a><a href="#method.read_i128_into">read_i128_into</a><a href="#method.read_i16">read_i16</a><a href="#method.read_i16_into">read_i16_into</a><a href="#method.read_i24">read_i24</a><a href="#method.read_i32">read_i32</a><a href="#method.read_i32_into">read_i32_into</a><a href="#method.read_i48">read_i48</a><a href="#method.read_i64">read_i64</a><a href="#method.read_i64_into">read_i64_into</a><a href="#method.read_int">read_int</a><a href="#method.read_int128">read_int128</a><a href="#method.read_u24">read_u24</a><a href="#method.read_u48">read_u48</a><a href="#method.write_f32">write_f32</a><a href="#method.write_f32_into">write_f32_into</a><a href="#method.write_f64">write_f64</a><a href="#method.write_f64_into">write_f64_into</a><a href="#method.write_i128">write_i128</a><a href="#method.write_i128_into">write_i128_into</a><a href="#method.write_i16">write_i16</a><a href="#method.write_i16_into">write_i16_into</a><a href="#method.write_i24">write_i24</a><a href="#method.write_i32">write_i32</a><a href="#method.write_i32_into">write_i32_into</a><a href="#method.write_i48">write_i48</a><a href="#method.write_i64">write_i64</a><a href="#method.write_i64_into">write_i64_into</a><a href="#method.write_i8_into">write_i8_into</a><a href="#method.write_int">write_int</a><a href="#method.write_int128">write_int128</a><a href="#method.write_u24">write_u24</a><a href="#method.write_u48">write_u48</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="index.html">byteorder</a></p><script>window.sidebarCurrent = {name: "ByteOrder", ty: "trait", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/byteorder/lib.rs.html#208-1792" title="goto source code">[src]</a></span><span class="in-band">Trait <a href="index.html">byteorder</a>::<wbr><a class="trait" href="">ByteOrder</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ByteOrder: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> + Sealed {
|
||
fn <a href="#tymethod.read_u16" class="fnname">read_u16</a>(buf: &[u8]) -> u16;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_u32" class="fnname">read_u32</a>(buf: &[u8]) -> u32;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_u64" class="fnname">read_u64</a>(buf: &[u8]) -> u64;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_u128" class="fnname">read_u128</a>(buf: &[u8]) -> u128;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_uint" class="fnname">read_uint</a>(buf: &[u8], nbytes: usize) -> u64;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_uint128" class="fnname">read_uint128</a>(buf: &[u8], nbytes: usize) -> u128;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u16" class="fnname">write_u16</a>(buf: &mut [u8], n: u16);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u32" class="fnname">write_u32</a>(buf: &mut [u8], n: u32);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u64" class="fnname">write_u64</a>(buf: &mut [u8], n: u64);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u128" class="fnname">write_u128</a>(buf: &mut [u8], n: u128);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_uint" class="fnname">write_uint</a>(buf: &mut [u8], n: u64, nbytes: usize);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_uint128" class="fnname">write_uint128</a>(buf: &mut [u8], n: u128, nbytes: usize);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_u16_into" class="fnname">read_u16_into</a>(src: &[u8], dst: &mut [u16]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_u32_into" class="fnname">read_u32_into</a>(src: &[u8], dst: &mut [u32]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_u64_into" class="fnname">read_u64_into</a>(src: &[u8], dst: &mut [u64]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.read_u128_into" class="fnname">read_u128_into</a>(src: &[u8], dst: &mut [u128]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u16_into" class="fnname">write_u16_into</a>(src: &[u16], dst: &mut [u8]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u32_into" class="fnname">write_u32_into</a>(src: &[u32], dst: &mut [u8]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u64_into" class="fnname">write_u64_into</a>(src: &[u64], dst: &mut [u8]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.write_u128_into" class="fnname">write_u128_into</a>(src: &[u128], dst: &mut [u8]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.from_slice_u16" class="fnname">from_slice_u16</a>(numbers: &mut [u16]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.from_slice_u32" class="fnname">from_slice_u32</a>(numbers: &mut [u32]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.from_slice_u64" class="fnname">from_slice_u64</a>(numbers: &mut [u64]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.from_slice_u128" class="fnname">from_slice_u128</a>(numbers: &mut [u128]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.from_slice_f32" class="fnname">from_slice_f32</a>(numbers: &mut [f32]);
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.from_slice_f64" class="fnname">from_slice_f64</a>(numbers: &mut [f64]);
|
||
|
||
fn <a href="#method.read_u24" class="fnname">read_u24</a>(buf: &[u8]) -> u32 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_u48" class="fnname">read_u48</a>(buf: &[u8]) -> u64 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_u24" class="fnname">write_u24</a>(buf: &mut [u8], n: u32) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_u48" class="fnname">write_u48</a>(buf: &mut [u8], n: u64) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i16" class="fnname">read_i16</a>(buf: &[u8]) -> i16 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i24" class="fnname">read_i24</a>(buf: &[u8]) -> i32 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i32" class="fnname">read_i32</a>(buf: &[u8]) -> i32 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i48" class="fnname">read_i48</a>(buf: &[u8]) -> i64 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i64" class="fnname">read_i64</a>(buf: &[u8]) -> i64 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i128" class="fnname">read_i128</a>(buf: &[u8]) -> i128 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_int" class="fnname">read_int</a>(buf: &[u8], nbytes: usize) -> i64 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_int128" class="fnname">read_int128</a>(buf: &[u8], nbytes: usize) -> i128 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_f32" class="fnname">read_f32</a>(buf: &[u8]) -> f32 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_f64" class="fnname">read_f64</a>(buf: &[u8]) -> f64 { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i16" class="fnname">write_i16</a>(buf: &mut [u8], n: i16) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i24" class="fnname">write_i24</a>(buf: &mut [u8], n: i32) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i32" class="fnname">write_i32</a>(buf: &mut [u8], n: i32) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i48" class="fnname">write_i48</a>(buf: &mut [u8], n: i64) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i64" class="fnname">write_i64</a>(buf: &mut [u8], n: i64) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i128" class="fnname">write_i128</a>(buf: &mut [u8], n: i128) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_int" class="fnname">write_int</a>(buf: &mut [u8], n: i64, nbytes: usize) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_int128" class="fnname">write_int128</a>(buf: &mut [u8], n: i128, nbytes: usize) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_f32" class="fnname">write_f32</a>(buf: &mut [u8], n: f32) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_f64" class="fnname">write_f64</a>(buf: &mut [u8], n: f64) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i16_into" class="fnname">read_i16_into</a>(src: &[u8], dst: &mut [i16]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i32_into" class="fnname">read_i32_into</a>(src: &[u8], dst: &mut [i32]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i64_into" class="fnname">read_i64_into</a>(src: &[u8], dst: &mut [i64]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_i128_into" class="fnname">read_i128_into</a>(src: &[u8], dst: &mut [i128]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_f32_into" class="fnname">read_f32_into</a>(src: &[u8], dst: &mut [f32]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_f32_into_unchecked" class="fnname">read_f32_into_unchecked</a>(src: &[u8], dst: &mut [f32]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_f64_into" class="fnname">read_f64_into</a>(src: &[u8], dst: &mut [f64]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.read_f64_into_unchecked" class="fnname">read_f64_into_unchecked</a>(src: &[u8], dst: &mut [f64]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i8_into" class="fnname">write_i8_into</a>(src: &[i8], dst: &mut [u8]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i16_into" class="fnname">write_i16_into</a>(src: &[i16], dst: &mut [u8]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i32_into" class="fnname">write_i32_into</a>(src: &[i32], dst: &mut [u8]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i64_into" class="fnname">write_i64_into</a>(src: &[i64], dst: &mut [u8]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_i128_into" class="fnname">write_i128_into</a>(src: &[i128], dst: &mut [u8]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_f32_into" class="fnname">write_f32_into</a>(src: &[f32], dst: &mut [u8]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.write_f64_into" class="fnname">write_f64_into</a>(src: &[f64], dst: &mut [u8]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.from_slice_i16" class="fnname">from_slice_i16</a>(src: &mut [i16]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.from_slice_i32" class="fnname">from_slice_i32</a>(src: &mut [i32]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.from_slice_i64" class="fnname">from_slice_i64</a>(src: &mut [i64]) { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.from_slice_i128" class="fnname">from_slice_i128</a>(src: &mut [i128]) { ... }
|
||
}</pre></div><div class="docblock"><p><code>ByteOrder</code> describes types that can serialize integers as bytes.</p>
|
||
<p>Note that <code>Self</code> does not appear anywhere in this trait's definition!
|
||
Therefore, in order to use it, you'll need to use syntax like
|
||
<code>T::read_u16(&[0, 1])</code> where <code>T</code> implements <code>ByteOrder</code>.</p>
|
||
<p>This crate provides two types that implement <code>ByteOrder</code>: <a href="enum.BigEndian.html"><code>BigEndian</code></a>
|
||
and <a href="enum.LittleEndian.html"><code>LittleEndian</code></a>.
|
||
This trait is sealed and cannot be implemented for callers to avoid
|
||
breaking backwards compatibility when adding new derived traits.</p>
|
||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||
<p>Write and read <code>u32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u32</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
<p>Write and read <code>i16</code> numbers in big endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">2</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">write_i16</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">5_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">5_000</span>, <span class="ident">BigEndian</span>::<span class="ident">read_i16</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.read_u16" class="method"><code>fn <a href="#tymethod.read_u16" class="fnname">read_u16</a>(buf: &[u8]) -> u16</code><a class="srclink" href="../src/byteorder/lib.rs.html#225" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned 16 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics" class="section-header"><a href="#panics">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 2</code>.</p>
|
||
</div><h3 id="tymethod.read_u32" class="method"><code>fn <a href="#tymethod.read_u32" class="fnname">read_u32</a>(buf: &[u8]) -> u32</code><a class="srclink" href="../src/byteorder/lib.rs.html#265" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned 32 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics-1" class="section-header"><a href="#panics-1">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 4</code>.</p>
|
||
<h1 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h1>
|
||
<p>Write and read <code>u32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u32</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="tymethod.read_u64" class="method"><code>fn <a href="#tymethod.read_u64" class="fnname">read_u64</a>(buf: &[u8]) -> u64</code><a class="srclink" href="../src/byteorder/lib.rs.html#305" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned 64 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics-2" class="section-header"><a href="#panics-2">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 8</code>.</p>
|
||
<h1 id="examples-2" class="section-header"><a href="#examples-2">Examples</a></h1>
|
||
<p>Write and read <code>u64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u64</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="tymethod.read_u128" class="method"><code>fn <a href="#tymethod.read_u128" class="fnname">read_u128</a>(buf: &[u8]) -> u128</code><a class="srclink" href="../src/byteorder/lib.rs.html#324" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned 128 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics-3" class="section-header"><a href="#panics-3">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 16</code>.</p>
|
||
<h1 id="examples-3" class="section-header"><a href="#examples-3">Examples</a></h1>
|
||
<p>Write and read <code>u128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u128</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="tymethod.read_uint" class="method"><code>fn <a href="#tymethod.read_uint" class="fnname">read_uint</a>(buf: &[u8], nbytes: usize) -> u64</code><a class="srclink" href="../src/byteorder/lib.rs.html#344" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned n-bytes integer from <code>buf</code>.</p>
|
||
<h1 id="panics-4" class="section-header"><a href="#panics-4">Panics</a></h1>
|
||
<p>Panics when <code>nbytes < 1</code> or <code>nbytes > 8</code> or
|
||
<code>buf.len() < nbytes</code></p>
|
||
<h1 id="examples-4" class="section-header"><a href="#examples-4">Examples</a></h1>
|
||
<p>Write and read an n-byte number in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_uint</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_uint</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="tymethod.read_uint128" class="method"><code>fn <a href="#tymethod.read_uint128" class="fnname">read_uint128</a>(buf: &[u8], nbytes: usize) -> u128</code><a class="srclink" href="../src/byteorder/lib.rs.html#364" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned n-bytes integer from <code>buf</code>.</p>
|
||
<h1 id="panics-5" class="section-header"><a href="#panics-5">Panics</a></h1>
|
||
<p>Panics when <code>nbytes < 1</code> or <code>nbytes > 16</code> or
|
||
<code>buf.len() < nbytes</code></p>
|
||
<h1 id="examples-5" class="section-header"><a href="#examples-5">Examples</a></h1>
|
||
<p>Write and read an n-byte number in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_uint128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_uint128</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="tymethod.write_u16" class="method"><code>fn <a href="#tymethod.write_u16" class="fnname">write_u16</a>(buf: &mut [u8], n: u16)</code><a class="srclink" href="../src/byteorder/lib.rs.html#383" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned 16 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-6" class="section-header"><a href="#panics-6">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 2</code>.</p>
|
||
<h1 id="examples-6" class="section-header"><a href="#examples-6">Examples</a></h1>
|
||
<p>Write and read <code>u16</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">2</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u16</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u16</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="tymethod.write_u32" class="method"><code>fn <a href="#tymethod.write_u32" class="fnname">write_u32</a>(buf: &mut [u8], n: u32)</code><a class="srclink" href="../src/byteorder/lib.rs.html#423" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned 32 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-7" class="section-header"><a href="#panics-7">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 4</code>.</p>
|
||
<h1 id="examples-7" class="section-header"><a href="#examples-7">Examples</a></h1>
|
||
<p>Write and read <code>u32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u32</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="tymethod.write_u64" class="method"><code>fn <a href="#tymethod.write_u64" class="fnname">write_u64</a>(buf: &mut [u8], n: u64)</code><a class="srclink" href="../src/byteorder/lib.rs.html#463" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned 64 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-8" class="section-header"><a href="#panics-8">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 8</code>.</p>
|
||
<h1 id="examples-8" class="section-header"><a href="#examples-8">Examples</a></h1>
|
||
<p>Write and read <code>u64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u64</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="tymethod.write_u128" class="method"><code>fn <a href="#tymethod.write_u128" class="fnname">write_u128</a>(buf: &mut [u8], n: u128)</code><a class="srclink" href="../src/byteorder/lib.rs.html#482" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned 128 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-9" class="section-header"><a href="#panics-9">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 16</code>.</p>
|
||
<h1 id="examples-9" class="section-header"><a href="#examples-9">Examples</a></h1>
|
||
<p>Write and read <code>u128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u128</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="tymethod.write_uint" class="method"><code>fn <a href="#tymethod.write_uint" class="fnname">write_uint</a>(buf: &mut [u8], n: u64, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#502" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned integer <code>n</code> to <code>buf</code> using only <code>nbytes</code>.</p>
|
||
<h1 id="panics-10" class="section-header"><a href="#panics-10">Panics</a></h1>
|
||
<p>If <code>n</code> is not representable in <code>nbytes</code>, or if <code>nbytes</code> is <code>> 8</code>, then
|
||
this method panics.</p>
|
||
<h1 id="examples-10" class="section-header"><a href="#examples-10">Examples</a></h1>
|
||
<p>Write and read an n-byte number in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_uint</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_uint</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="tymethod.write_uint128" class="method"><code>fn <a href="#tymethod.write_uint128" class="fnname">write_uint128</a>(buf: &mut [u8], n: u128, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#522" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned integer <code>n</code> to <code>buf</code> using only <code>nbytes</code>.</p>
|
||
<h1 id="panics-11" class="section-header"><a href="#panics-11">Panics</a></h1>
|
||
<p>If <code>n</code> is not representable in <code>nbytes</code>, or if <code>nbytes</code> is <code>> 16</code>, then
|
||
this method panics.</p>
|
||
<h1 id="examples-11" class="section-header"><a href="#examples-11">Examples</a></h1>
|
||
<p>Write and read an n-byte number in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_uint128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_uint128</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="tymethod.read_u16_into" class="method"><code>fn <a href="#tymethod.read_u16_into" class="fnname">read_u16_into</a>(src: &[u8], dst: &mut [u16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#993" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads unsigned 16 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-12" class="section-header"><a href="#panics-12">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 2*dst.len()</code>.</p>
|
||
<h1 id="examples-12" class="section-header"><a href="#examples-12">Examples</a></h1>
|
||
<p>Write and read <code>u16</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u16_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u16_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.read_u32_into" class="method"><code>fn <a href="#tymethod.read_u32_into" class="fnname">read_u32_into</a>(src: &[u8], dst: &mut [u32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1016" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads unsigned 32 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-13" class="section-header"><a href="#panics-13">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 4*dst.len()</code>.</p>
|
||
<h1 id="examples-13" class="section-header"><a href="#examples-13">Examples</a></h1>
|
||
<p>Write and read <code>u32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u32_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u32_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.read_u64_into" class="method"><code>fn <a href="#tymethod.read_u64_into" class="fnname">read_u64_into</a>(src: &[u8], dst: &mut [u64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1039" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads unsigned 64 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-14" class="section-header"><a href="#panics-14">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 8*dst.len()</code>.</p>
|
||
<h1 id="examples-14" class="section-header"><a href="#examples-14">Examples</a></h1>
|
||
<p>Write and read <code>u64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u64_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u64_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.read_u128_into" class="method"><code>fn <a href="#tymethod.read_u128_into" class="fnname">read_u128_into</a>(src: &[u8], dst: &mut [u128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1062" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads unsigned 128 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-15" class="section-header"><a href="#panics-15">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 16*dst.len()</code>.</p>
|
||
<h1 id="examples-15" class="section-header"><a href="#examples-15">Examples</a></h1>
|
||
<p>Write and read <code>u128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">64</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u128_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u128_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.write_u16_into" class="method"><code>fn <a href="#tymethod.write_u16_into" class="fnname">write_u16_into</a>(src: &[u16], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1324" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes unsigned 16 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-16" class="section-header"><a href="#panics-16">Panics</a></h1>
|
||
<p>Panics when <code>dst.len() != 2*src.len()</code>.</p>
|
||
<h1 id="examples-16" class="section-header"><a href="#examples-16">Examples</a></h1>
|
||
<p>Write and read <code>u16</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u16_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u16_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.write_u32_into" class="method"><code>fn <a href="#tymethod.write_u32_into" class="fnname">write_u32_into</a>(src: &[u32], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1347" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes unsigned 32 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-17" class="section-header"><a href="#panics-17">Panics</a></h1>
|
||
<p>Panics when <code>dst.len() != 4*src.len()</code>.</p>
|
||
<h1 id="examples-17" class="section-header"><a href="#examples-17">Examples</a></h1>
|
||
<p>Write and read <code>u32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u32_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u32_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.write_u64_into" class="method"><code>fn <a href="#tymethod.write_u64_into" class="fnname">write_u64_into</a>(src: &[u64], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1370" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes unsigned 64 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-18" class="section-header"><a href="#panics-18">Panics</a></h1>
|
||
<p>Panics when <code>dst.len() != 8*src.len()</code>.</p>
|
||
<h1 id="examples-18" class="section-header"><a href="#examples-18">Examples</a></h1>
|
||
<p>Write and read <code>u64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u64_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u64_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.write_u128_into" class="method"><code>fn <a href="#tymethod.write_u128_into" class="fnname">write_u128_into</a>(src: &[u128], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1393" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes unsigned 128 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-19" class="section-header"><a href="#panics-19">Panics</a></h1>
|
||
<p>Panics when <code>dst.len() != 16*src.len()</code>.</p>
|
||
<h1 id="examples-19" class="section-header"><a href="#examples-19">Examples</a></h1>
|
||
<p>Write and read <code>u128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">64</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u128_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_u128_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="tymethod.from_slice_u16" class="method"><code>fn <a href="#tymethod.from_slice_u16" class="fnname">from_slice_u16</a>(numbers: &mut [u16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1620" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of unsigned 16 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-20" class="section-header"><a href="#examples-20">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">65000</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_u16</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5u16</span>.<span class="ident">to_be</span>(), <span class="number">65000u16</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div><h3 id="tymethod.from_slice_u32" class="method"><code>fn <a href="#tymethod.from_slice_u32" class="fnname">from_slice_u32</a>(numbers: &mut [u32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1639" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of unsigned 32 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-21" class="section-header"><a href="#examples-21">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">65000</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_u32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5u32</span>.<span class="ident">to_be</span>(), <span class="number">65000u32</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div><h3 id="tymethod.from_slice_u64" class="method"><code>fn <a href="#tymethod.from_slice_u64" class="fnname">from_slice_u64</a>(numbers: &mut [u64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1658" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of unsigned 64 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-22" class="section-header"><a href="#examples-22">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">65000</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_u64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5u64</span>.<span class="ident">to_be</span>(), <span class="number">65000u64</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div><h3 id="tymethod.from_slice_u128" class="method"><code>fn <a href="#tymethod.from_slice_u128" class="fnname">from_slice_u128</a>(numbers: &mut [u128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1677" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of unsigned 128 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-23" class="section-header"><a href="#examples-23">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">65000</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_u128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5u128</span>.<span class="ident">to_be</span>(), <span class="number">65000u128</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div><h3 id="tymethod.from_slice_f32" class="method"><code>fn <a href="#tymethod.from_slice_f32" class="fnname">from_slice_f32</a>(numbers: &mut [f32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1784" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of IEEE754 single-precision (4 bytes) floating
|
||
point numbers to a particular endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
</div><h3 id="tymethod.from_slice_f64" class="method"><code>fn <a href="#tymethod.from_slice_f64" class="fnname">from_slice_f64</a>(numbers: &mut [f64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1791" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of IEEE754 double-precision (8 bytes) floating
|
||
point numbers to a particular endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
</div></div><span class="loading-content">Loading content...</span><h2 id="provided-methods" class="small-section-header">Provided methods<a href="#provided-methods" class="anchor"></a></h2><div class="methods"><h3 id="method.read_u24" class="method"><code>fn <a href="#method.read_u24" class="fnname">read_u24</a>(buf: &[u8]) -> u32</code><a class="srclink" href="../src/byteorder/lib.rs.html#244-246" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned 24 bit integer from <code>buf</code>, stored in u32.</p>
|
||
<h1 id="panics-20" class="section-header"><a href="#panics-20">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 3</code>.</p>
|
||
<h1 id="examples-24" class="section-header"><a href="#examples-24">Examples</a></h1>
|
||
<p>Write and read 24 bit <code>u32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u24</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u24</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_u48" class="method"><code>fn <a href="#method.read_u48" class="fnname">read_u48</a>(buf: &[u8]) -> u64</code><a class="srclink" href="../src/byteorder/lib.rs.html#284-286" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads an unsigned 48 bit integer from <code>buf</code>, stored in u64.</p>
|
||
<h1 id="panics-21" class="section-header"><a href="#panics-21">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 6</code>.</p>
|
||
<h1 id="examples-25" class="section-header"><a href="#examples-25">Examples</a></h1>
|
||
<p>Write and read 48 bit <code>u64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">6</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u48</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u48</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_u24" class="method"><code>fn <a href="#method.write_u24" class="fnname">write_u24</a>(buf: &mut [u8], n: u32)</code><a class="srclink" href="../src/byteorder/lib.rs.html#402-404" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned 24 bit integer <code>n</code> to <code>buf</code>, stored in u32.</p>
|
||
<h1 id="panics-22" class="section-header"><a href="#panics-22">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 3</code>.</p>
|
||
<h1 id="examples-26" class="section-header"><a href="#examples-26">Examples</a></h1>
|
||
<p>Write and read 24 bit <code>u32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u24</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u24</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_u48" class="method"><code>fn <a href="#method.write_u48" class="fnname">write_u48</a>(buf: &mut [u8], n: u64)</code><a class="srclink" href="../src/byteorder/lib.rs.html#442-444" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes an unsigned 48 bit integer <code>n</code> to <code>buf</code>, stored in u64.</p>
|
||
<h1 id="panics-23" class="section-header"><a href="#panics-23">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 6</code>.</p>
|
||
<h1 id="examples-27" class="section-header"><a href="#examples-27">Examples</a></h1>
|
||
<p>Write and read 48 bit <code>u64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">6</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_u48</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="number">1_000_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="number">1_000_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_u48</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_i16" class="method"><code>fn <a href="#method.read_i16" class="fnname">read_i16</a>(buf: &[u8]) -> i16</code><a class="srclink" href="../src/byteorder/lib.rs.html#542-544" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed 16 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics-24" class="section-header"><a href="#panics-24">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 2</code>.</p>
|
||
<h1 id="examples-28" class="section-header"><a href="#examples-28">Examples</a></h1>
|
||
<p>Write and read <code>i16</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">2</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i16</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i16</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_i24" class="method"><code>fn <a href="#method.read_i24" class="fnname">read_i24</a>(buf: &[u8]) -> i32</code><a class="srclink" href="../src/byteorder/lib.rs.html#564-566" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed 24 bit integer from <code>buf</code>, stored in i32.</p>
|
||
<h1 id="panics-25" class="section-header"><a href="#panics-25">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 3</code>.</p>
|
||
<h1 id="examples-29" class="section-header"><a href="#examples-29">Examples</a></h1>
|
||
<p>Write and read 24 bit <code>i32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i24</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i24</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_i32" class="method"><code>fn <a href="#method.read_i32" class="fnname">read_i32</a>(buf: &[u8]) -> i32</code><a class="srclink" href="../src/byteorder/lib.rs.html#586-588" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed 32 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics-26" class="section-header"><a href="#panics-26">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 4</code>.</p>
|
||
<h1 id="examples-30" class="section-header"><a href="#examples-30">Examples</a></h1>
|
||
<p>Write and read <code>i32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i32</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_i48" class="method"><code>fn <a href="#method.read_i48" class="fnname">read_i48</a>(buf: &[u8]) -> i64</code><a class="srclink" href="../src/byteorder/lib.rs.html#608-610" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed 48 bit integer from <code>buf</code>, stored in i64.</p>
|
||
<h1 id="panics-27" class="section-header"><a href="#panics-27">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 6</code>.</p>
|
||
<h1 id="examples-31" class="section-header"><a href="#examples-31">Examples</a></h1>
|
||
<p>Write and read 48 bit <code>i64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">6</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i48</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i48</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_i64" class="method"><code>fn <a href="#method.read_i64" class="fnname">read_i64</a>(buf: &[u8]) -> i64</code><a class="srclink" href="../src/byteorder/lib.rs.html#630-632" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed 64 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics-28" class="section-header"><a href="#panics-28">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 8</code>.</p>
|
||
<h1 id="examples-32" class="section-header"><a href="#examples-32">Examples</a></h1>
|
||
<p>Write and read <code>i64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i64</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_i128" class="method"><code>fn <a href="#method.read_i128" class="fnname">read_i128</a>(buf: &[u8]) -> i128</code><a class="srclink" href="../src/byteorder/lib.rs.html#652-654" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed 128 bit integer from <code>buf</code>.</p>
|
||
<h1 id="panics-29" class="section-header"><a href="#panics-29">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 16</code>.</p>
|
||
<h1 id="examples-33" class="section-header"><a href="#examples-33">Examples</a></h1>
|
||
<p>Write and read <code>i128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i128</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_int" class="method"><code>fn <a href="#method.read_int" class="fnname">read_int</a>(buf: &[u8], nbytes: usize) -> i64</code><a class="srclink" href="../src/byteorder/lib.rs.html#675-677" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed n-bytes integer from <code>buf</code>.</p>
|
||
<h1 id="panics-30" class="section-header"><a href="#panics-30">Panics</a></h1>
|
||
<p>Panics when <code>nbytes < 1</code> or <code>nbytes > 8</code> or
|
||
<code>buf.len() < nbytes</code></p>
|
||
<h1 id="examples-34" class="section-header"><a href="#examples-34">Examples</a></h1>
|
||
<p>Write and read n-length signed numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_int</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_int</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="method.read_int128" class="method"><code>fn <a href="#method.read_int128" class="fnname">read_int128</a>(buf: &[u8], nbytes: usize) -> i128</code><a class="srclink" href="../src/byteorder/lib.rs.html#698-700" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a signed n-bytes integer from <code>buf</code>.</p>
|
||
<h1 id="panics-31" class="section-header"><a href="#panics-31">Panics</a></h1>
|
||
<p>Panics when <code>nbytes < 1</code> or <code>nbytes > 16</code> or
|
||
<code>buf.len() < nbytes</code></p>
|
||
<h1 id="examples-35" class="section-header"><a href="#examples-35">Examples</a></h1>
|
||
<p>Write and read n-length signed numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_int128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_int128</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="method.read_f32" class="method"><code>fn <a href="#method.read_f32" class="fnname">read_f32</a>(buf: &[u8]) -> f32</code><a class="srclink" href="../src/byteorder/lib.rs.html#721-723" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a IEEE754 single-precision (4 bytes) floating point number.</p>
|
||
<h1 id="panics-32" class="section-header"><a href="#panics-32">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 4</code>.</p>
|
||
<h1 id="examples-36" class="section-header"><a href="#examples-36">Examples</a></h1>
|
||
<p>Write and read <code>f32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="ident">e</span> <span class="op">=</span> <span class="number">2.71828</span>;
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="ident">e</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">e</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_f32</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_f64" class="method"><code>fn <a href="#method.read_f64" class="fnname">read_f64</a>(buf: &[u8]) -> f64</code><a class="srclink" href="../src/byteorder/lib.rs.html#744-746" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads a IEEE754 double-precision (8 bytes) floating point number.</p>
|
||
<h1 id="panics-33" class="section-header"><a href="#panics-33">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 8</code>.</p>
|
||
<h1 id="examples-37" class="section-header"><a href="#examples-37">Examples</a></h1>
|
||
<p>Write and read <code>f64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="ident">phi</span> <span class="op">=</span> <span class="number">1.6180339887</span>;
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="ident">phi</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">phi</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_f64</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_i16" class="method"><code>fn <a href="#method.write_i16" class="fnname">write_i16</a>(buf: &mut [u8], n: i16)</code><a class="srclink" href="../src/byteorder/lib.rs.html#766-768" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed 16 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-34" class="section-header"><a href="#panics-34">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 2</code>.</p>
|
||
<h1 id="examples-38" class="section-header"><a href="#examples-38">Examples</a></h1>
|
||
<p>Write and read <code>i16</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">2</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i16</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i16</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_i24" class="method"><code>fn <a href="#method.write_i24" class="fnname">write_i24</a>(buf: &mut [u8], n: i32)</code><a class="srclink" href="../src/byteorder/lib.rs.html#788-790" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed 24 bit integer <code>n</code> to <code>buf</code>, stored in i32.</p>
|
||
<h1 id="panics-35" class="section-header"><a href="#panics-35">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 3</code>.</p>
|
||
<h1 id="examples-39" class="section-header"><a href="#examples-39">Examples</a></h1>
|
||
<p>Write and read 24 bit <code>i32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i24</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i24</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_i32" class="method"><code>fn <a href="#method.write_i32" class="fnname">write_i32</a>(buf: &mut [u8], n: i32)</code><a class="srclink" href="../src/byteorder/lib.rs.html#810-812" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed 32 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-36" class="section-header"><a href="#panics-36">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 4</code>.</p>
|
||
<h1 id="examples-40" class="section-header"><a href="#examples-40">Examples</a></h1>
|
||
<p>Write and read <code>i32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i32</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_i48" class="method"><code>fn <a href="#method.write_i48" class="fnname">write_i48</a>(buf: &mut [u8], n: i64)</code><a class="srclink" href="../src/byteorder/lib.rs.html#832-834" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed 48 bit integer <code>n</code> to <code>buf</code>, stored in i64.</p>
|
||
<h1 id="panics-37" class="section-header"><a href="#panics-37">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 6</code>.</p>
|
||
<h1 id="examples-41" class="section-header"><a href="#examples-41">Examples</a></h1>
|
||
<p>Write and read 48 bit <code>i64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">6</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i48</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i48</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_i64" class="method"><code>fn <a href="#method.write_i64" class="fnname">write_i64</a>(buf: &mut [u8], n: i64)</code><a class="srclink" href="../src/byteorder/lib.rs.html#854-856" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed 64 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-38" class="section-header"><a href="#panics-38">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 8</code>.</p>
|
||
<h1 id="examples-42" class="section-header"><a href="#examples-42">Examples</a></h1>
|
||
<p>Write and read <code>i64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i64</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_i128" class="method"><code>fn <a href="#method.write_i128" class="fnname">write_i128</a>(buf: &mut [u8], n: i128)</code><a class="srclink" href="../src/byteorder/lib.rs.html#876-878" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed 128 bit integer <code>n</code> to <code>buf</code>.</p>
|
||
<h1 id="panics-39" class="section-header"><a href="#panics-39">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 16</code>.</p>
|
||
<h1 id="examples-43" class="section-header"><a href="#examples-43">Examples</a></h1>
|
||
<p>Write and read n-byte <code>i128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000_000_000</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000_000_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_i128</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_int" class="method"><code>fn <a href="#method.write_int" class="fnname">write_int</a>(buf: &mut [u8], n: i64, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#899-901" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed integer <code>n</code> to <code>buf</code> using only <code>nbytes</code>.</p>
|
||
<h1 id="panics-40" class="section-header"><a href="#panics-40">Panics</a></h1>
|
||
<p>If <code>n</code> is not representable in <code>nbytes</code>, or if <code>nbytes</code> is <code>> 8</code>, then
|
||
this method panics.</p>
|
||
<h1 id="examples-44" class="section-header"><a href="#examples-44">Examples</a></h1>
|
||
<p>Write and read an n-byte number in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_int</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_int</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="method.write_int128" class="method"><code>fn <a href="#method.write_int128" class="fnname">write_int128</a>(buf: &mut [u8], n: i128, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#922-924" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a signed integer <code>n</code> to <code>buf</code> using only <code>nbytes</code>.</p>
|
||
<h1 id="panics-41" class="section-header"><a href="#panics-41">Panics</a></h1>
|
||
<p>If <code>n</code> is not representable in <code>nbytes</code>, or if <code>nbytes</code> is <code>> 16</code>, then
|
||
this method panics.</p>
|
||
<h1 id="examples-45" class="section-header"><a href="#examples-45">Examples</a></h1>
|
||
<p>Write and read n-length signed numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">3</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_int128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="op">-</span><span class="number">1_000</span>, <span class="number">3</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">-</span><span class="number">1_000</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_int128</span>(<span class="kw-2">&</span><span class="ident">buf</span>, <span class="number">3</span>));</pre></div>
|
||
</div><h3 id="method.write_f32" class="method"><code>fn <a href="#method.write_f32" class="fnname">write_f32</a>(buf: &mut [u8], n: f32)</code><a class="srclink" href="../src/byteorder/lib.rs.html#945-947" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a IEEE754 single-precision (4 bytes) floating point number.</p>
|
||
<h1 id="panics-42" class="section-header"><a href="#panics-42">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 4</code>.</p>
|
||
<h1 id="examples-46" class="section-header"><a href="#examples-46">Examples</a></h1>
|
||
<p>Write and read <code>f32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="ident">e</span> <span class="op">=</span> <span class="number">2.71828</span>;
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="ident">e</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">e</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_f32</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.write_f64" class="method"><code>fn <a href="#method.write_f64" class="fnname">write_f64</a>(buf: &mut [u8], n: f64)</code><a class="srclink" href="../src/byteorder/lib.rs.html#968-970" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes a IEEE754 double-precision (8 bytes) floating point number.</p>
|
||
<h1 id="panics-43" class="section-header"><a href="#panics-43">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() < 8</code>.</p>
|
||
<h1 id="examples-47" class="section-header"><a href="#examples-47">Examples</a></h1>
|
||
<p>Write and read <code>f64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="ident">phi</span> <span class="op">=</span> <span class="number">1.6180339887</span>;
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">buf</span>, <span class="ident">phi</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">phi</span>, <span class="ident">LittleEndian</span>::<span class="ident">read_f64</span>(<span class="kw-2">&</span><span class="ident">buf</span>));</pre></div>
|
||
</div><h3 id="method.read_i16_into" class="method"><code>fn <a href="#method.read_i16_into" class="fnname">read_i16_into</a>(src: &[u8], dst: &mut [i16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1086-1091" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads signed 16 bit integers from <code>src</code> to <code>dst</code>.</p>
|
||
<h1 id="panics-44" class="section-header"><a href="#panics-44">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() != 2*dst.len()</code>.</p>
|
||
<h1 id="examples-48" class="section-header"><a href="#examples-48">Examples</a></h1>
|
||
<p>Write and read <code>i16</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0x0f</span>, <span class="number">0xee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i16_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i16_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.read_i32_into" class="method"><code>fn <a href="#method.read_i32_into" class="fnname">read_i32_into</a>(src: &[u8], dst: &mut [i32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1115-1120" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads signed 32 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-45" class="section-header"><a href="#panics-45">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 4*dst.len()</code>.</p>
|
||
<h1 id="examples-49" class="section-header"><a href="#examples-49">Examples</a></h1>
|
||
<p>Write and read <code>i32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i32_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i32_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.read_i64_into" class="method"><code>fn <a href="#method.read_i64_into" class="fnname">read_i64_into</a>(src: &[u8], dst: &mut [i64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1144-1149" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads signed 64 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-46" class="section-header"><a href="#panics-46">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 8*dst.len()</code>.</p>
|
||
<h1 id="examples-50" class="section-header"><a href="#examples-50">Examples</a></h1>
|
||
<p>Write and read <code>i64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i64_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i64_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.read_i128_into" class="method"><code>fn <a href="#method.read_i128_into" class="fnname">read_i128_into</a>(src: &[u8], dst: &mut [i128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1173-1178" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads signed 128 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-47" class="section-header"><a href="#panics-47">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 16*dst.len()</code>.</p>
|
||
<h1 id="examples-51" class="section-header"><a href="#examples-51">Examples</a></h1>
|
||
<p>Write and read <code>i128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">64</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i128_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i128_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.read_f32_into" class="method"><code>fn <a href="#method.read_f32_into" class="fnname">read_f32_into</a>(src: &[u8], dst: &mut [f32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1203-1208" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads IEEE754 single-precision (4 bytes) floating point numbers from
|
||
<code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-48" class="section-header"><a href="#panics-48">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 4*dst.len()</code>.</p>
|
||
<h1 id="examples-52" class="section-header"><a href="#examples-52">Examples</a></h1>
|
||
<p>Write and read <code>f32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">31.312e31</span>, <span class="op">-</span><span class="number">11.32e19</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f32_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0.0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_f32_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.read_f32_into_unchecked" class="method"><code>fn <a href="#method.read_f32_into_unchecked" class="fnname">read_f32_into_unchecked</a>(src: &[u8], dst: &mut [f32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1237-1239" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.3.0: <p>please use <code>read_f32_into</code> instead</p>
|
||
</div></div><div class="docblock"><p><strong>DEPRECATED</strong>.</p>
|
||
<p>This method is deprecated. Use <code>read_f32_into</code> instead.
|
||
Reads IEEE754 single-precision (4 bytes) floating point numbers from
|
||
<code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-49" class="section-header"><a href="#panics-49">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 4*dst.len()</code>.</p>
|
||
<h1 id="examples-53" class="section-header"><a href="#examples-53">Examples</a></h1>
|
||
<p>Write and read <code>f32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">31.312e31</span>, <span class="op">-</span><span class="number">11.32e19</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f32_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0.0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_f32_into_unchecked</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.read_f64_into" class="method"><code>fn <a href="#method.read_f64_into" class="fnname">read_f64_into</a>(src: &[u8], dst: &mut [f64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1264-1269" title="goto source code">[src]</a></h3><div class="docblock"><p>Reads IEEE754 single-precision (4 bytes) floating point numbers from
|
||
<code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-50" class="section-header"><a href="#panics-50">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 8*dst.len()</code>.</p>
|
||
<h1 id="examples-54" class="section-header"><a href="#examples-54">Examples</a></h1>
|
||
<p>Write and read <code>f64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">31.312e211</span>, <span class="op">-</span><span class="number">11.32e91</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f64_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0.0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_f64_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.read_f64_into_unchecked" class="method"><code>fn <a href="#method.read_f64_into_unchecked" class="fnname">read_f64_into_unchecked</a>(src: &[u8], dst: &mut [f64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1299-1301" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.3.0: <p>please use <code>read_f64_into</code> instead</p>
|
||
</div></div><div class="docblock"><p><strong>DEPRECATED</strong>.</p>
|
||
<p>This method is deprecated. Use <code>read_f64_into</code> instead.</p>
|
||
<p>Reads IEEE754 single-precision (4 bytes) floating point numbers from
|
||
<code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-51" class="section-header"><a href="#panics-51">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 8*dst.len()</code>.</p>
|
||
<h1 id="examples-55" class="section-header"><a href="#examples-55">Examples</a></h1>
|
||
<p>Write and read <code>f64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">31.312e211</span>, <span class="op">-</span><span class="number">11.32e91</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f64_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0.0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_f64_into_unchecked</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.write_i8_into" class="method"><code>fn <a href="#method.write_i8_into" class="fnname">write_i8_into</a>(src: &[i8], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1422-1427" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes signed 8 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<p>Note that since each <code>i8</code> is a single byte, no byte order conversions
|
||
are used. This method is included because it provides a safe, simple
|
||
way for the caller to write from a <code>&[i8]</code> buffer. (Without this
|
||
method, the caller would have to either use <code>unsafe</code> code or convert
|
||
each byte to <code>u8</code> individually.)</p>
|
||
<h1 id="panics-52" class="section-header"><a href="#panics-52">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() != src.len()</code>.</p>
|
||
<h1 id="examples-56" class="section-header"><a href="#examples-56">Examples</a></h1>
|
||
<p>Write and read <code>i8</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>, <span class="ident">ReadBytesExt</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf</span>, <span class="number">0xe</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i8_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">bytes</span>.<span class="ident">as_ref</span>().<span class="ident">read_i8_into</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.write_i16_into" class="method"><code>fn <a href="#method.write_i16_into" class="fnname">write_i16_into</a>(src: &[i16], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1450-1455" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes signed 16 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-53" class="section-header"><a href="#panics-53">Panics</a></h1>
|
||
<p>Panics when <code>buf.len() != 2*src.len()</code>.</p>
|
||
<h1 id="examples-57" class="section-header"><a href="#examples-57">Examples</a></h1>
|
||
<p>Write and read <code>i16</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">8</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0x0f</span>, <span class="number">0xee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i16_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i16_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.write_i32_into" class="method"><code>fn <a href="#method.write_i32_into" class="fnname">write_i32_into</a>(src: &[i32], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1478-1483" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes signed 32 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-54" class="section-header"><a href="#panics-54">Panics</a></h1>
|
||
<p>Panics when <code>dst.len() != 4*src.len()</code>.</p>
|
||
<h1 id="examples-58" class="section-header"><a href="#examples-58">Examples</a></h1>
|
||
<p>Write and read <code>i32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i32_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i32_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.write_i64_into" class="method"><code>fn <a href="#method.write_i64_into" class="fnname">write_i64_into</a>(src: &[i64], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1506-1511" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes signed 64 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-55" class="section-header"><a href="#panics-55">Panics</a></h1>
|
||
<p>Panics when <code>dst.len() != 8*src.len()</code>.</p>
|
||
<h1 id="examples-59" class="section-header"><a href="#examples-59">Examples</a></h1>
|
||
<p>Write and read <code>i64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i64_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i64_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.write_i128_into" class="method"><code>fn <a href="#method.write_i128_into" class="fnname">write_i128_into</a>(src: &[i128], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1534-1539" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes signed 128 bit integers from <code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-56" class="section-header"><a href="#panics-56">Panics</a></h1>
|
||
<p>Panics when <code>dst.len() != 16*src.len()</code>.</p>
|
||
<h1 id="examples-60" class="section-header"><a href="#examples-60">Examples</a></h1>
|
||
<p>Write and read <code>i128</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">64</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0xf00f</span>, <span class="number">0xffee</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_i128_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">4</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_i128_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.write_f32_into" class="method"><code>fn <a href="#method.write_f32_into" class="fnname">write_f32_into</a>(src: &[f32], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1565-1570" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes IEEE754 single-precision (4 bytes) floating point numbers from
|
||
<code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-57" class="section-header"><a href="#panics-57">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 4*dst.len()</code>.</p>
|
||
<h1 id="examples-61" class="section-header"><a href="#examples-61">Examples</a></h1>
|
||
<p>Write and read <code>f32</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">16</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">31.312e31</span>, <span class="op">-</span><span class="number">11.32e19</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f32_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0.0</span>; <span class="number">4</span>];
|
||
<span class="kw">unsafe</span> {
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_f32_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
}
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.write_f64_into" class="method"><code>fn <a href="#method.write_f64_into" class="fnname">write_f64_into</a>(src: &[f64], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1596-1601" title="goto source code">[src]</a></h3><div class="docblock"><p>Writes IEEE754 double-precision (8 bytes) floating point numbers from
|
||
<code>src</code> into <code>dst</code>.</p>
|
||
<h1 id="panics-58" class="section-header"><a href="#panics-58">Panics</a></h1>
|
||
<p>Panics when <code>src.len() != 8*dst.len()</code>.</p>
|
||
<h1 id="examples-62" class="section-header"><a href="#examples-62">Examples</a></h1>
|
||
<p>Write and read <code>f64</code> numbers in little endian order:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">LittleEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">bytes</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
|
||
<span class="kw">let</span> <span class="ident">numbers_given</span> <span class="op">=</span> [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">31.312e211</span>, <span class="op">-</span><span class="number">11.32e91</span>];
|
||
<span class="ident">LittleEndian</span>::<span class="ident">write_f64_into</span>(<span class="kw-2">&</span><span class="ident">numbers_given</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">bytes</span>);
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers_got</span> <span class="op">=</span> [<span class="number">0.0</span>; <span class="number">4</span>];
|
||
<span class="kw">unsafe</span> {
|
||
<span class="ident">LittleEndian</span>::<span class="ident">read_f64_into</span>(<span class="kw-2">&</span><span class="ident">bytes</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers_got</span>);
|
||
}
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers_given</span>, <span class="ident">numbers_got</span>);</pre></div>
|
||
</div><h3 id="method.from_slice_i16" class="method"><code>fn <a href="#method.from_slice_i16" class="fnname">from_slice_i16</a>(src: &mut [i16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1697-1702" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of signed 16 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-63" class="section-header"><a href="#examples-63">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">6500</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_i16</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5i16</span>.<span class="ident">to_be</span>(), <span class="number">6500i16</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div><h3 id="method.from_slice_i32" class="method"><code>fn <a href="#method.from_slice_i32" class="fnname">from_slice_i32</a>(src: &mut [i32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1722-1727" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of signed 32 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-64" class="section-header"><a href="#examples-64">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">65000</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_i32</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5i32</span>.<span class="ident">to_be</span>(), <span class="number">65000i32</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div><h3 id="method.from_slice_i64" class="method"><code>fn <a href="#method.from_slice_i64" class="fnname">from_slice_i64</a>(src: &mut [i64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1747-1752" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of signed 64 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-65" class="section-header"><a href="#examples-65">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">65000</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_i64</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5i64</span>.<span class="ident">to_be</span>(), <span class="number">65000i64</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div><h3 id="method.from_slice_i128" class="method"><code>fn <a href="#method.from_slice_i128" class="fnname">from_slice_i128</a>(src: &mut [i128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#1772-1777" title="goto source code">[src]</a></h3><div class="docblock"><p>Converts the given slice of signed 128 bit integers to a particular
|
||
endianness.</p>
|
||
<p>If the endianness matches the endianness of the host platform, then
|
||
this is a no-op.</p>
|
||
<h1 id="examples-66" class="section-header"><a href="#examples-66">Examples</a></h1>
|
||
<p>Convert the host platform's endianness to big-endian:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">byteorder</span>::{<span class="ident">ByteOrder</span>, <span class="ident">BigEndian</span>};
|
||
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">numbers</span> <span class="op">=</span> [<span class="number">5</span>, <span class="number">65000</span>];
|
||
<span class="ident">BigEndian</span>::<span class="ident">from_slice_i128</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">numbers</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">numbers</span>, [<span class="number">5i128</span>.<span class="ident">to_be</span>(), <span class="number">65000i128</span>.<span class="ident">to_be</span>()]);</pre></div>
|
||
</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ByteOrder" class="impl"><code class="in-band">impl ByteOrder for <a class="enum" href="../byteorder/enum.BigEndian.html" title="enum byteorder::BigEndian">BigEndian</a></code><a href="#impl-ByteOrder" class="anchor"></a><a class="srclink" href="../src/byteorder/lib.rs.html#1956-2170" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.read_u16" class="method hidden"><code>fn <a href="#method.read_u16" class="fnname">read_u16</a>(buf: &[u8]) -> u16</code><a class="srclink" href="../src/byteorder/lib.rs.html#1958-1960" title="goto source code">[src]</a></h4><h4 id="method.read_u32" class="method hidden"><code>fn <a href="#method.read_u32" class="fnname">read_u32</a>(buf: &[u8]) -> u32</code><a class="srclink" href="../src/byteorder/lib.rs.html#1963-1965" title="goto source code">[src]</a></h4><h4 id="method.read_u64" class="method hidden"><code>fn <a href="#method.read_u64" class="fnname">read_u64</a>(buf: &[u8]) -> u64</code><a class="srclink" href="../src/byteorder/lib.rs.html#1968-1970" title="goto source code">[src]</a></h4><h4 id="method.read_u128" class="method hidden"><code>fn <a href="#method.read_u128" class="fnname">read_u128</a>(buf: &[u8]) -> u128</code><a class="srclink" href="../src/byteorder/lib.rs.html#1973-1975" title="goto source code">[src]</a></h4><h4 id="method.read_uint" class="method hidden"><code>fn <a href="#method.read_uint" class="fnname">read_uint</a>(buf: &[u8], nbytes: usize) -> u64</code><a class="srclink" href="../src/byteorder/lib.rs.html#1978-1990" title="goto source code">[src]</a></h4><h4 id="method.read_uint128" class="method hidden"><code>fn <a href="#method.read_uint128" class="fnname">read_uint128</a>(buf: &[u8], nbytes: usize) -> u128</code><a class="srclink" href="../src/byteorder/lib.rs.html#1993-2005" title="goto source code">[src]</a></h4><h4 id="method.write_u16" class="method hidden"><code>fn <a href="#method.write_u16" class="fnname">write_u16</a>(buf: &mut [u8], n: u16)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2008-2010" title="goto source code">[src]</a></h4><h4 id="method.write_u32" class="method hidden"><code>fn <a href="#method.write_u32" class="fnname">write_u32</a>(buf: &mut [u8], n: u32)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2013-2015" title="goto source code">[src]</a></h4><h4 id="method.write_u64" class="method hidden"><code>fn <a href="#method.write_u64" class="fnname">write_u64</a>(buf: &mut [u8], n: u64)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2018-2020" title="goto source code">[src]</a></h4><h4 id="method.write_u128" class="method hidden"><code>fn <a href="#method.write_u128" class="fnname">write_u128</a>(buf: &mut [u8], n: u128)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2023-2025" title="goto source code">[src]</a></h4><h4 id="method.write_uint" class="method hidden"><code>fn <a href="#method.write_uint" class="fnname">write_uint</a>(buf: &mut [u8], n: u64, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2028-2039" title="goto source code">[src]</a></h4><h4 id="method.write_uint128" class="method hidden"><code>fn <a href="#method.write_uint128" class="fnname">write_uint128</a>(buf: &mut [u8], n: u128, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2042-2053" title="goto source code">[src]</a></h4><h4 id="method.read_u16_into" class="method hidden"><code>fn <a href="#method.read_u16_into" class="fnname">read_u16_into</a>(src: &[u8], dst: &mut [u16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2056-2058" title="goto source code">[src]</a></h4><h4 id="method.read_u32_into" class="method hidden"><code>fn <a href="#method.read_u32_into" class="fnname">read_u32_into</a>(src: &[u8], dst: &mut [u32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2061-2063" title="goto source code">[src]</a></h4><h4 id="method.read_u64_into" class="method hidden"><code>fn <a href="#method.read_u64_into" class="fnname">read_u64_into</a>(src: &[u8], dst: &mut [u64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2066-2068" title="goto source code">[src]</a></h4><h4 id="method.read_u128_into" class="method hidden"><code>fn <a href="#method.read_u128_into" class="fnname">read_u128_into</a>(src: &[u8], dst: &mut [u128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2071-2073" title="goto source code">[src]</a></h4><h4 id="method.write_u16_into" class="method hidden"><code>fn <a href="#method.write_u16_into" class="fnname">write_u16_into</a>(src: &[u16], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2076-2082" title="goto source code">[src]</a></h4><h4 id="method.write_u32_into" class="method hidden"><code>fn <a href="#method.write_u32_into" class="fnname">write_u32_into</a>(src: &[u32], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2085-2091" title="goto source code">[src]</a></h4><h4 id="method.write_u64_into" class="method hidden"><code>fn <a href="#method.write_u64_into" class="fnname">write_u64_into</a>(src: &[u64], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2094-2100" title="goto source code">[src]</a></h4><h4 id="method.write_u128_into" class="method hidden"><code>fn <a href="#method.write_u128_into" class="fnname">write_u128_into</a>(src: &[u128], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2103-2109" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u16" class="method hidden"><code>fn <a href="#method.from_slice_u16" class="fnname">from_slice_u16</a>(numbers: &mut [u16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2112-2118" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u32" class="method hidden"><code>fn <a href="#method.from_slice_u32" class="fnname">from_slice_u32</a>(numbers: &mut [u32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2121-2127" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u64" class="method hidden"><code>fn <a href="#method.from_slice_u64" class="fnname">from_slice_u64</a>(numbers: &mut [u64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2130-2136" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u128" class="method hidden"><code>fn <a href="#method.from_slice_u128" class="fnname">from_slice_u128</a>(numbers: &mut [u128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2139-2145" title="goto source code">[src]</a></h4><h4 id="method.from_slice_f32" class="method hidden"><code>fn <a href="#method.from_slice_f32" class="fnname">from_slice_f32</a>(numbers: &mut [f32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2148-2157" title="goto source code">[src]</a></h4><h4 id="method.from_slice_f64" class="method hidden"><code>fn <a href="#method.from_slice_f64" class="fnname">from_slice_f64</a>(numbers: &mut [f64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2160-2169" title="goto source code">[src]</a></h4></div><h3 id="impl-ByteOrder-1" class="impl"><code class="in-band">impl ByteOrder for <a class="enum" href="../byteorder/enum.LittleEndian.html" title="enum byteorder::LittleEndian">LittleEndian</a></code><a href="#impl-ByteOrder-1" class="anchor"></a><a class="srclink" href="../src/byteorder/lib.rs.html#2172-2370" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.read_u16-1" class="method hidden"><code>fn <a href="#method.read_u16-1" class="fnname">read_u16</a>(buf: &[u8]) -> u16</code><a class="srclink" href="../src/byteorder/lib.rs.html#2174-2176" title="goto source code">[src]</a></h4><h4 id="method.read_u32-1" class="method hidden"><code>fn <a href="#method.read_u32-1" class="fnname">read_u32</a>(buf: &[u8]) -> u32</code><a class="srclink" href="../src/byteorder/lib.rs.html#2179-2181" title="goto source code">[src]</a></h4><h4 id="method.read_u64-1" class="method hidden"><code>fn <a href="#method.read_u64-1" class="fnname">read_u64</a>(buf: &[u8]) -> u64</code><a class="srclink" href="../src/byteorder/lib.rs.html#2184-2186" title="goto source code">[src]</a></h4><h4 id="method.read_u128-1" class="method hidden"><code>fn <a href="#method.read_u128-1" class="fnname">read_u128</a>(buf: &[u8]) -> u128</code><a class="srclink" href="../src/byteorder/lib.rs.html#2189-2191" title="goto source code">[src]</a></h4><h4 id="method.read_uint-1" class="method hidden"><code>fn <a href="#method.read_uint-1" class="fnname">read_uint</a>(buf: &[u8], nbytes: usize) -> u64</code><a class="srclink" href="../src/byteorder/lib.rs.html#2194-2202" title="goto source code">[src]</a></h4><h4 id="method.read_uint128-1" class="method hidden"><code>fn <a href="#method.read_uint128-1" class="fnname">read_uint128</a>(buf: &[u8], nbytes: usize) -> u128</code><a class="srclink" href="../src/byteorder/lib.rs.html#2205-2213" title="goto source code">[src]</a></h4><h4 id="method.write_u16-1" class="method hidden"><code>fn <a href="#method.write_u16-1" class="fnname">write_u16</a>(buf: &mut [u8], n: u16)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2216-2218" title="goto source code">[src]</a></h4><h4 id="method.write_u32-1" class="method hidden"><code>fn <a href="#method.write_u32-1" class="fnname">write_u32</a>(buf: &mut [u8], n: u32)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2221-2223" title="goto source code">[src]</a></h4><h4 id="method.write_u64-1" class="method hidden"><code>fn <a href="#method.write_u64-1" class="fnname">write_u64</a>(buf: &mut [u8], n: u64)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2226-2228" title="goto source code">[src]</a></h4><h4 id="method.write_u128-1" class="method hidden"><code>fn <a href="#method.write_u128-1" class="fnname">write_u128</a>(buf: &mut [u8], n: u128)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2231-2233" title="goto source code">[src]</a></h4><h4 id="method.write_uint-1" class="method hidden"><code>fn <a href="#method.write_uint-1" class="fnname">write_uint</a>(buf: &mut [u8], n: u64, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2236-2243" title="goto source code">[src]</a></h4><h4 id="method.write_uint128-1" class="method hidden"><code>fn <a href="#method.write_uint128-1" class="fnname">write_uint128</a>(buf: &mut [u8], n: u128, nbytes: usize)</code><a class="srclink" href="../src/byteorder/lib.rs.html#2246-2253" title="goto source code">[src]</a></h4><h4 id="method.read_u16_into-1" class="method hidden"><code>fn <a href="#method.read_u16_into-1" class="fnname">read_u16_into</a>(src: &[u8], dst: &mut [u16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2256-2258" title="goto source code">[src]</a></h4><h4 id="method.read_u32_into-1" class="method hidden"><code>fn <a href="#method.read_u32_into-1" class="fnname">read_u32_into</a>(src: &[u8], dst: &mut [u32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2261-2263" title="goto source code">[src]</a></h4><h4 id="method.read_u64_into-1" class="method hidden"><code>fn <a href="#method.read_u64_into-1" class="fnname">read_u64_into</a>(src: &[u8], dst: &mut [u64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2266-2268" title="goto source code">[src]</a></h4><h4 id="method.read_u128_into-1" class="method hidden"><code>fn <a href="#method.read_u128_into-1" class="fnname">read_u128_into</a>(src: &[u8], dst: &mut [u128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2271-2273" title="goto source code">[src]</a></h4><h4 id="method.write_u16_into-1" class="method hidden"><code>fn <a href="#method.write_u16_into-1" class="fnname">write_u16_into</a>(src: &[u16], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2276-2282" title="goto source code">[src]</a></h4><h4 id="method.write_u32_into-1" class="method hidden"><code>fn <a href="#method.write_u32_into-1" class="fnname">write_u32_into</a>(src: &[u32], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2285-2291" title="goto source code">[src]</a></h4><h4 id="method.write_u64_into-1" class="method hidden"><code>fn <a href="#method.write_u64_into-1" class="fnname">write_u64_into</a>(src: &[u64], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2294-2300" title="goto source code">[src]</a></h4><h4 id="method.write_u128_into-1" class="method hidden"><code>fn <a href="#method.write_u128_into-1" class="fnname">write_u128_into</a>(src: &[u128], dst: &mut [u8])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2303-2309" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u16-1" class="method hidden"><code>fn <a href="#method.from_slice_u16-1" class="fnname">from_slice_u16</a>(numbers: &mut [u16])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2312-2318" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u32-1" class="method hidden"><code>fn <a href="#method.from_slice_u32-1" class="fnname">from_slice_u32</a>(numbers: &mut [u32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2321-2327" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u64-1" class="method hidden"><code>fn <a href="#method.from_slice_u64-1" class="fnname">from_slice_u64</a>(numbers: &mut [u64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2330-2336" title="goto source code">[src]</a></h4><h4 id="method.from_slice_u128-1" class="method hidden"><code>fn <a href="#method.from_slice_u128-1" class="fnname">from_slice_u128</a>(numbers: &mut [u128])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2339-2345" title="goto source code">[src]</a></h4><h4 id="method.from_slice_f32-1" class="method hidden"><code>fn <a href="#method.from_slice_f32-1" class="fnname">from_slice_f32</a>(numbers: &mut [f32])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2348-2357" title="goto source code">[src]</a></h4><h4 id="method.from_slice_f64-1" class="method hidden"><code>fn <a href="#method.from_slice_f64-1" class="fnname">from_slice_f64</a>(numbers: &mut [f64])</code><a class="srclink" href="../src/byteorder/lib.rs.html#2360-2369" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../implementors/byteorder/trait.ByteOrder.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "byteorder";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html> |