| Crates.io | gradient-slice |
| lib.rs | gradient-slice |
| version | 0.4.0 |
| created_at | 2025-06-22 04:19:30.07782+00 |
| updated_at | 2025-06-24 00:17:46.091291+00 |
| description | gradient-slice is a safe crate to iterate over a gradient of permutations of slices of a Vec |
| homepage | https://docs.rs/gradient-slice |
| repository | https://github.com/gabrielfalcao/gradient-slice |
| max_upload_size | |
| id | 1721275 |
| size | 8,267 |
gradient slice is a safe crate to iterate over a gradient of permutations of slices of a Vec.
use gradient_slice::Gradient;
let boot = Gradient::new(0x1BADB002u32.to_be_bytes().to_vec())
.map(Vec::from)
.collect::<Vec<Vec<u8>>>();
assert_eq!(
boot,
vec![
vec![27], vec![173], vec![176], vec![2],
vec![27, 173], vec![173, 176], vec![176, 2],
vec![27, 173, 176], vec![173, 176, 2],
vec![27, 173, 176, 2]
]
);
use gradient_slice::Gradient;
let alphabet = Gradient::new(" abc ".chars().collect::<Vec<char>>())
.map(Vec::from)
.map(|vec| {
vec.iter()
.map(Clone::clone)
.map(String::from)
.collect::<String>()
})
.collect::<Vec<String>>();
assert_eq!(
alphabet,
vec![
" ", "a", "b", "c", " ", " a", "ab", "bc", "c ", " ab", "abc", "bc ", " abc",
"abc ", " abc "
]
);