当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust IoSlice.advance_slices用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 std::io::IoSlice.advance_slices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。