3 个不稳定版本
0.2.0 | 2023年6月21日 |
---|---|
0.1.1 | 2023年6月19日 |
0.1.0 | 2023年6月18日 |
2065 在 Rust 模式
5,175 每月下载量
用于 8 个crate(3个直接使用)
15KB
351 行
context-iterators
具有关联只读数据的迭代器适配器。
通过使用函数指针或非捕获闭包,可用来命名包装迭代器的类型。
use context_iterators::*;
use std::ops::Range;
type MappedIterator = MapCtx<WithCtx<Range<u16>, u16>, usize>;
let iter: MappedIterator = (0..10)
.with_context(42)
.map_with_context(|item: u16, context: &u16| (item + *context) as usize);
assert!(iter.eq(42..52));
MappedIterator
类型可以在需要具体类型的上下文中使用,例如作为特质的关联类型。
trait Iterable {
type Iter: Iterator<Item = usize>;
}
struct MyIterable;
impl Iterable for MyIterable {
type Iter = MappedIterator;
}
请在此处阅读 API 文档。
最近更改
请参阅 变更日志 以查看更改列表。最低支持的 Rust 版本仅在主要版本发布时才会更改。
许可证
该项目可在 Apache License,版本 2.0 https://apache.ac.cn/licenses/LICENSE-2.0 或 MIT 许可证 http://opensource.org/licenses/MIT 下双授权,由您选择。此文件不得复制、修改或分发,除非符合这些条款。