【发布时间】:2020-10-05 02:18:06
【问题描述】:
我正在尝试在 Rust 中模拟这段 C 代码的行为:
len = av_parser_parse2(myparser, AVCodecContext, &data, &size,
in_data, in_len,
pts, dts, pos);
in_data += len;
in_data 是一个缓冲区。可以进阶。
如何用切片做类似的事情?我知道我可以获取一个子切片,我什至可以编写一个可以推进然后返回一个子切片的类。
但是默认库中是否有一些已经这样做的东西?像缓冲切片阅读器之类的东西? PS:不再次复制切片,只拥有它并根据其上的+= 运算符返回子切片。
【问题讨论】:
-
默认库中比子切片更简单的东西?只是
in_data = &in_data[len..];。 -
FWIW,
&[u8]implementsstd::io::Read,虽然这只适用于字节切片。
标签: rust