Skip to content

Extension trait to chunk iterators into const-length arrays.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

LouisGariepy/const-chunks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

const-chunks


This crate provides a #![no_std]-compatible extension trait that lets you chunk iterators into constant-length arrays using const generics.

See the docs for more info.

use const_chunks::IteratorConstChunks;

let mut iter = vec![1, 2, 3, 4, 5].into_iter().const_chunks::<2>();
assert_eq!(iter.next(), Some([1,2]));
assert_eq!(iter.next(), Some([3,4]));
assert_eq!(iter.next(), None);

let mut remainder = iter.into_remainder().unwrap();
assert_eq!(remainder.next(), Some(5));
assert_eq!(remainder.next(), None);

Safety

This crate uses unsafe to manipulate uninitialized memory.

To prevent undefined behavior, the code runs MIRI in CI. It's also well-documented and easy to audit.

Nevertheless, you should still consider this fact if you're trying to minimize unsafe dependencies.

MSRV

This crate requires rustc version 1.65 or newer.

This crate's MSRV is enforced through the manifest's rust-version key.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Extension trait to chunk iterators into const-length arrays.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages