本文簡要介紹rust語言中 std::io::IoSlice.advance_slices
的用法。
用法
pub fn advance_slices(bufs: &mut &mut [IoSlice<'a>], n: usize)
推進切片的內部光標。
注意
如果光標沒有前進到切片的末尾,則可以修改切片中的元素。例如,如果我們有一個包含 2 個 IoSlice
的緩衝區切片,長度均為 8,並且我們將光標前進 10 個字節,第一個 IoSlice
將保持不變,但第二個將被修改以刪除前 2 個字節( 10 - 8)。
例子
#![feature(io_slice_advance)]
use std::io::IoSlice;
use std::ops::Deref;
let buf1 = [1; 8];
let buf2 = [2; 16];
let buf3 = [3; 8];
let mut bufs = &mut [
IoSlice::new(&buf1),
IoSlice::new(&buf2),
IoSlice::new(&buf3),
][..];
// Mark 10 bytes as written.
IoSlice::advance_slices(&mut bufs, 10);
assert_eq!(bufs[0].deref(), [2; 14].as_ref());
assert_eq!(bufs[1].deref(), [3; 8].as_ref());
相關用法
- Rust IoSlice.advance用法及代碼示例
- Rust IoSliceMut.advance用法及代碼示例
- Rust IoSliceMut.advance_slices用法及代碼示例
- Rust Iterator.skip_while用法及代碼示例
- Rust IntoKeys用法及代碼示例
- Rust IntoIter.as_mut_slice用法及代碼示例
- Rust Iterator.max_by_key用法及代碼示例
- Rust Iterator.is_sorted用法及代碼示例
- Rust Iterator.cmp用法及代碼示例
- Rust Iterator.is_partitioned用法及代碼示例
- Rust Iterator.intersperse用法及代碼示例
- Rust Iterator.scan用法及代碼示例
- Rust Ipv4Addr.is_global用法及代碼示例
- Rust Iterator.min用法及代碼示例
- Rust Infallible用法及代碼示例
- Rust Iterator.find_map用法及代碼示例
- Rust IntErrorKind用法及代碼示例
- Rust Iterator.peekable用法及代碼示例
- Rust Ipv6Addr.is_multicast用法及代碼示例
- Rust Iterator.rev用法及代碼示例
- Rust Iterator.product用法及代碼示例
- Rust Iterator.any用法及代碼示例
- Rust Iterator.max用法及代碼示例
- Rust Iterator.by_ref用法及代碼示例
- Rust Ipv4Addr.new用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::io::IoSlice.advance_slices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。