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


Rust IoSliceMut.advance_slices用法及代码示例


本文简要介绍rust语言中 std::io::IoSliceMut.advance_slices 的用法。

用法

pub fn advance_slices(bufs: &mut &mut [IoSliceMut<'a>], n: usize)

推进切片的内部光标。

注意

如果光标没有前进到切片的末尾,则可以修改切片中的元素。例如,如果我们有一个包含 2 个 IoSliceMut 的缓冲区切片,长度均为 8,并且我们将光标前进 10 个字节,第一个 IoSliceMut 将保持不变,但第二个将被修改以删除前 2 个字节( 10 - 8)。

例子

#![feature(io_slice_advance)]

use std::io::IoSliceMut;
use std::ops::Deref;

let mut buf1 = [1; 8];
let mut buf2 = [2; 16];
let mut buf3 = [3; 8];
let mut bufs = &mut [
    IoSliceMut::new(&mut buf1),
    IoSliceMut::new(&mut buf2),
    IoSliceMut::new(&mut buf3),
][..];

// Mark 10 bytes as read.
IoSliceMut::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::IoSliceMut.advance_slices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。