#iterator #lending #iterator-extension #gat

gat-lending-iterator

一个库,其元素可以[可变地]引用迭代器

6个版本

0.1.5 2023年12月9日
0.1.4 2023年12月5日
0.1.3 2023年11月23日
0.1.1 2023年8月16日

#351 in Rust模式

Download history 264/week @ 2024-04-02 313/week @ 2024-04-09 637/week @ 2024-04-16 545/week @ 2024-04-23 493/week @ 2024-04-30 284/week @ 2024-05-07 363/week @ 2024-05-14 285/week @ 2024-05-21 331/week @ 2024-05-28 468/week @ 2024-06-04 314/week @ 2024-06-11 176/week @ 2024-06-18 99/week @ 2024-06-25 99/week @ 2024-07-02 206/week @ 2024-07-09 296/week @ 2024-07-16

720 每月下载量
3 crate 中使用

MIT 许可证

37KB
899

Gat Lending Iterator

我对lending iterator crate应该是什么样子的看法。 仍在进行中.

大多数 Iterator 方法可以直接在 LendingIterator 上工作,但有些方法可能没有意义。基本上,任何需要同时查看多个元素的方法都是不可能的。

一些 LendingIterator 方法 可能 返回可以作为 Iterator 的东西。例如 clonedmap,当传递给它的函数返回的值与其输入的生命周期无关时。在这些情况下,我的设计选择是条件性地实现适配器的 IntoIterator。

我还包含了一个扩展 trait ToLendingIterator: IntoIterator,它允许将迭代器以各种方式转换为lending迭代器,例如在元素窗口中。我可能会添加更多方法到这个trait中。

LendingIteratorIterator 上行为相同的方法

  • advance_by
  • all
  • any
  • by_ref
  • chain
  • cmp
  • cmp_by
  • count
  • cycle
  • enumerate
  • eq
  • eq_by
  • filter
  • filter_map
  • find
  • find_map
  • flat_map
  • flatten
  • fold
  • for_each
  • fuse
  • ge
  • gt
  • inspect
  • intersperse
  • intersperse_with
  • is_partitioned
  • le
  • lt
  • map
  • map_while
  • ne
  • nth
  • partial_cmp
  • partial_cmp_by
  • position
  • product
  • scan
  • size_hint
  • skip
  • skip_while
  • step_by
  • sum
  • take
  • take_while
  • try_find
  • try_fold
  • try_for_each
  • zip

LendingIterator 上没有意义的方法

  • array_chunks
  • collect
  • collect_into
  • is_sorted
  • is_sorted_by
  • is_sorted_by_key
  • last
  • next_chunk
  • partition
  • partition_in_place
  • peekable
  • try_collect
  • unzip

LendingIterator 上行为不同的方法

  • max
  • max_by
  • 按键最大值
  • 最小值
  • 按...最小值
  • 按键最小值
  • reduce
  • try_reduce

有时可以用来将 LendingIterator 转换为 Iterator 的方法

  • 克隆
  • 复制
  • filter_map
  • flat_map
  • map
  • map_while
  • scan

我不确定的方法

  • 逆序
  • 右位置

无运行时依赖