tuples
Provides many useful tools related to tuples
- Support no-std
- Support wasm
- AsRef
- AsMut
- AsOption
- AsResult
- AsDeref
- AsDerefMut
- TupleGet
- Transpose Option
- Transpose Result
- Cloned
- Copied
- Flatten
- Combin
- Split
- Mapping
- Iter
- IntoIter
- FromIter
- Collect
- Meta Trait
- Shorthand Macro
- Call
- Apply
- Swap
- Sort
Examples
-
map
let a = ; let b = a.map; assert_eq!;
-
mapN
let a = ; let b = a.map3; assert_eq!;
-
map_all
let a = ; let b = a.map_all; assert_eq!;
-
as_ref
let t = ; let = t.as_ref; assert_eq!; assert_eq!; assert_eq!;
-
cloned
let a = ; let b = a.cloned; assert_eq!
-
flatten
let a = ; let b = a.flatten; assert_eq!;
-
meta
let a = ; assert_eq!; let b = ; assert_eq!;
-
get
let a = ; assert_eq!; let mut a = ; *a.get_mut = 6;
-
iter
let a = .into_iter .map .>; let b: = ; assert_eq!;
let a = .into_iter .map .>; let b: = Some; assert_eq!;
let a = .into_iter .map .>; let b: = ; assert_eq!;
-
transpose
let a = Some.transpose; assert_eq!; let b = .transpose; assert_eq!;
let a: = ; let b: = a.transpose; assert_eq!;
let a: = ; let b: = a.transpose; assert_eq!;
let a: = ; let b = a.; assert_eq!;
-
combin
let a = .push_right; assert_eq!; let b = .push_left; assert_eq!; let c = .concat; assert_eq!
-
split
- split_parts
let t = ; let a = t.split_2_parts; assert_eq!; let b = t.split_3_parts; assert_eq!; let c = t.split_4_parts; assert_eq!; let d = t.split_5_parts; assert_eq!;
- split_at
let t = ; let a = t.split_at_1; assert_eq!; let b = t.split_at_3; assert_eq!; let c = t.split_at_5; assert_eq!;
- split_by
let t = ; let t2 = ; let a = t.split_by_2; assert_eq!; let b = t2.split_by_2; assert_eq!; let c = t.split_by_3; assert_eq!; let d = t2.split_by_3; assert_eq!; let e = t.split_by_6; assert_eq!;
- split_to_tuple_at
let t = ; let a = t.split_to_tuple_at_1; assert_eq!; let b = t.split_to_tuple_at_3; assert_eq!; let c = t.split_to_tuple_at_5; assert_eq!;
- split_to_tuple_by
let t = ; let t2 = ; let a = t.split_to_tuple_by_2; assert_eq!; let b = t2.split_to_tuple_by_2; assert_eq!; let c = t.split_to_tuple_by_3; assert_eq!; let d = t2.split_to_tuple_by_3; assert_eq!; let e = t.split_to_tuple_by_6; assert_eq!;
- split_parts
-
call
let r = .call; assert_eq!;
-
apply
let a = ; let r = foo.apply_tuple; assert_eq!
-
swap
let mut a = ; a.swap; assert_eq!;
-
swap_n
Not enabled by default
= ["tuple_swap_n"]
let mut a = ; a.swap_1_3; assert_eq!;
-
sort
currently implemented-
selection sort
let mut a = ; a.sort_selection; assert_eq!
-