本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。