Skip to content

Collections with a statically known minimum size, using const generics.

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

elomatreb/minsize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minsize

Collections with a statically known minimum size, using const generics.

Features

  • Wrapper type around a plain standard library Vec that enforces an arbitrary minimum size
    • Special methods that simplify operations on collections that are known to be non-empty[note]
  • Ability to deref to a slice and to cheaply convert from and to an unrestricted Vec
    • All the methods provided by standard slices you already know and use remain available!

Note: Const generics support

With the basic first level of const generics support (historically known as min_const_generics), it is not possible to guarante the non-empty property for all const-generic values. This crate uses an indirection through a trait, that for now is implemented by hand for a small number of useful values. Once the necessary language features are stabilized, this list of manual implementations will be replaced with a proper blanket implementation.

Crate features

  • serde: Add implementations for the serde traits

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

Collections with a statically known minimum size, using const generics.

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