5 个不稳定版本

0.3.0 2022 年 6 月 29 日
0.2.0 2022 年 6 月 29 日
0.1.2 2022 年 6 月 28 日
0.1.1 2022 年 6 月 27 日
0.1.0 2022 年 6 月 27 日

13#structural 中排名

Download history • Rust 包仓库 130/week @ 2024-03-10 • Rust 包仓库 128/week @ 2024-03-17 • Rust 包仓库 44/week @ 2024-03-24 • Rust 包仓库 96/week @ 2024-03-31 • Rust 包仓库 64/week @ 2024-04-07 • Rust 包仓库 44/week @ 2024-04-14 • Rust 包仓库 112/week @ 2024-04-21 • Rust 包仓库 159/week @ 2024-04-28 • Rust 包仓库 81/week @ 2024-05-05 • Rust 包仓库 83/week @ 2024-05-12 • Rust 包仓库 198/week @ 2024-05-19 • Rust 包仓库 51/week @ 2024-05-26 • Rust 包仓库 107/week @ 2024-06-02 • Rust 包仓库 50/week @ 2024-06-09 • Rust 包仓库 32/week @ 2024-06-16 • Rust 包仓库 89/week @ 2024-06-23 • Rust 包仓库

每月下载量 287

MIT/Apache 协议

10KB
137 行(不包括注释)

元组的结构操作

此软件包实现了三个元组操作

  • 连接
  • 拆分
  • 索引

例如,您可以使用以下方法简单地将两个元组连接起来

use tuplestructops::TupleJoin;

let concat = (1, 'b', 3).join(('a', 5, 'c'));

此软件包仅关注元组的整体结构,而对其元素的类型完全无知。

实现的时间复杂度是元组元素数量的 O(N^2)。默认情况下,它们为最多 16 个元素实现,但额外的

  • tuple_24
  • tuple_32

功能允许为更多元素实现这些特性。

impl_docs 功能启用对所有元组类型特性实现的文档。默认情况下,它是禁用的,因为它非常重复。


lib.rs:

元组的结构操作

此软件包实现了拆分和连接元组。

这些特性适用于从长度为零(即,() 单元)到 16 的元组。(启用 tuple_24tuple_32 功能后,可以更多。)

它们适用于按值和引用传递的元组,分别消耗或借用它们的输入。

以下是一个按值传递的 TupleJoin 示例

use tuplestructops::TupleJoin;

let out = (1,'a',"b").join((1., 2.));
println!("out {out:?}");

TupleSplit 执行相反的操作。它依赖于模式匹配来确定拆分。

use tuplestructops::TupleSplit;

let out: (_, (_,_,_)) = (1,2,3,4,5).split();
println!("out {out:?}");

依赖项