tupl

Crates.iotupl
lib.rstupl
version0.5.1
sourcesrc
created_at2023-04-03 21:32:27.335751
updated_at2024-11-03 14:39:39.992377
descriptionPerform generic operations on tuples.
homepage
repositoryhttps://github.com/Dragoteryx/tupl
max_upload_size
id829523
size13,670
(Dragoteryx)

documentation

README

Tupl

A #![no_std] crate for handling Rust tuples using traits.
It also provides traits to manipulate functions.

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));
Commit count: 15

cargo fmt