當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。