pub struct IntoIter(/* private fields */);
展开描述
一个遍历 TokenStream
的 TokenTree
的迭代器。迭代是“浅层”的,例如,迭代器不会递归进入带分隔符的组,而是将整个组作为 token 树返回。
特性实现§
1.29.0 · 源代码§impl Iterator for IntoIter
impl Iterator for IntoIter
源代码§fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,
fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,
🔬这是一个仅在 nightly 版本提供的实验性 API。(
iter_next_chunk
#98326)推进迭代器并返回一个包含下
N
个值的数组。阅读更多源代码§fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
🔬这是一个仅在 nightly 版本提供的实验性 API。(
iter_advance_by
#77404)将迭代器推进
n
个元素。阅读更多1.28.0 · 源代码§fn step_by(self, step: usize) -> StepBy<Self>where Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self>where Self: Sized,
创建一个从同一点开始的迭代器,但在每次迭代中按给定的量步进。阅读更多
1.0.0 · 源代码§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
接受两个迭代器,并创建一个新的迭代器,按顺序遍历两者。阅读更多
1.0.0 · 源代码§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where Self: Sized, U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where Self: Sized, U: IntoIterator,
将两个迭代器“压缩”成一个成对的迭代器。阅读更多
源代码§fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
🔬这是一个仅在 nightly 版本提供的实验性 API。(
iter_intersperse
#79524)创建一个新的迭代器,在原始迭代器的相邻项之间放置
separator
的副本。阅读更多源代码§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
🔬这是一个仅在 nightly 版本提供的实验性 API。(
iter_intersperse
#79524)创建一个新的迭代器,在原始迭代器的相邻项之间放置由
separator
生成的项。阅读更多1.0.0 · 源代码§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
创建一个既可以过滤又可以映射的迭代器。阅读更多
1.0.0 · 源代码§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
1.0.0 · 源代码§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
创建一个根据谓词生成元素的迭代器。阅读更多
1.0.0 · 源代码§fn take(self, n: usize) -> Take<Self>where Self: Sized,
fn take(self, n: usize) -> Take<Self>where Self: Sized,
创建一个迭代器,该迭代器生成前
n
个元素,如果底层迭代器提前结束,则生成更少的元素。阅读更多源代码§fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
🔬这是一个仅在 nightly 版本提供的实验性 API。(
iter_map_windows
#87155)源代码§fn collect_into<E>(self, collection: &mut E) -> &mut E
fn collect_into<E>(self, collection: &mut E) -> &mut E
🔬这是一个仅在 nightly 版本提供的实验性 API。(
iter_collect_into
#94780)将迭代器的所有项收集到一个集合中。阅读更多
源代码§fn is_partitioned<P>(self, predicate: P) -> bool
fn is_partitioned<P>(self, predicate: P) -> bool
🔬这是一个仅在 nightly 版本提供的实验性 API。(
iter_is_partitioned
#62544)1.27.0 · 源代码§fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
一个迭代器方法,只要函数成功返回,就应用该函数,并生成单个最终值。 阅读更多
1.27.0 · Source§fn try_for_each<F, R>(&mut self, f: F) -> R
fn try_for_each<F, R>(&mut self, f: F) -> R
一个迭代器方法,它将一个可能失败的函数应用于迭代器中的每个项,在第一个错误处停止并返回该错误。 阅读更多
1.51.0 · Source§fn reduce<F>(self, f: F) -> Option<Self::Item>
fn reduce<F>(self, f: F) -> Option<Self::Item>
通过重复应用 reducing 操作,将元素 reducing 为单个元素。 阅读更多
Source§fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
🔬这是一个仅限 nightly 的实验性 API。(
iterator_try_reduce
#87053)通过重复应用 reducing 操作,将元素 reducing 为单个元素。如果闭包返回失败,则失败会立即传播回调用者。 阅读更多
Source§fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
🔬这是一个仅限 nightly 的实验性 API。(
try_find
#63178)将函数应用于迭代器的元素,并返回第一个 true 结果或第一个错误。 阅读更多
1.0.0 · Source§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
将成对迭代器转换为容器对。 阅读更多
Source§fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where Self: Sized,
fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where Self: Sized,
🔬这是一个仅限 nightly 的实验性 API。(
iter_array_chunks
#100450)返回一个迭代器,每次迭代返回迭代器的
N
个元素。 阅读更多Source§fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
🔬这是一个仅限 nightly 的实验性 API。(
iter_order_by
#64295)1.5.0 · Source§fn partial_cmp<I>(self, other: I) -> Option<Ordering>
fn partial_cmp<I>(self, other: I) -> Option<Ordering>
字典序 比较此
PartialOrd
元素的 Iterator
与另一个迭代器的元素。 比较的工作方式类似于短路求值,返回结果而无需比较剩余的元素。 一旦可以确定顺序,评估就会停止并返回结果。 阅读更多Source§fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
🔬这是一个仅限 nightly 的实验性 API。(
iter_order_by
#64295)1.82.0 · Source§fn is_sorted_by<F>(self, compare: F) -> bool
fn is_sorted_by<F>(self, compare: F) -> bool
检查此迭代器的元素是否使用给定的比较器函数进行排序。阅读更多
1.82.0 · Source§fn is_sorted_by_key<F, K>(self, f: F) -> bool
fn is_sorted_by_key<F, K>(self, f: F) -> bool
检查此迭代器的元素是否使用给定的键提取函数进行排序。阅读更多
自动 Trait 实现§
impl Freeze for IntoIter
impl RefUnwindSafe for IntoIter
impl !Send for IntoIter
impl !Sync for IntoIter
impl Unpin for IntoIter
impl UnwindSafe for IntoIter
覆盖实现§
Source§impl<T> BorrowMut<T> for Twhere T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
从拥有的值可变地借用。阅读更多