5 个版本 (3 个重大变更)

0.4.0 2023 年 4 月 7 日
0.3.1 2023 年 4 月 6 日
0.3.0 2023 年 4 月 6 日
0.2.0 2023 年 4 月 4 日
0.1.0 2023 年 4 月 3 日

#2759Rust 模式

每月 47 次下载

MIT 许可证

11KB
262

Tupl

Tupl 是一个使用特性处理 Rust 元组的 #![no_std] 包。
这是通过 3 个特性实现的

  • Tuple,一个为 0 到 50 个参数的元组实现的标记特性
  • GrowableTuple,为所有可增长的元组实现
  • NonEmptyTuple,为所有非单位类型的元组实现
use tupl::{GrowableTuple, NonEmptyTuple};

let mut tuple = (1, 2);

// access the first & last elements of a tuple
*tuple.head_mut() = *tuple.head() + 1;
*tuple.tail_mut() = *tuple.tail() + 1;
assert_eq!(tuple, (2, 3));

// append an element to a tuple
let tuple = tuple.append(4);
assert_eq!(tuple, (2, 3, 4));

// prepend an element to a tuple
let tuple = tuple.prepend(1);
assert_eq!(tuple, (1, 2, 3, 4));

// truncate the first element of a tuple
let (head, tuple) = tuple.truncate_head();
assert_eq!((head, tuple), (1, (2, 3, 4)));

// truncate the last element of a tuple
let (tuple, tail) = tuple.truncate_tail();
assert_eq!((tuple, tail), ((2, 3), 4));

lib.rs:

Tupl 是一个使用特性处理 Rust 元组的 #![no_std] 包。

无运行时依赖