feat: meta update; this is 0.2.0!
This commit is contained in:
parent
ce4702c7b6
commit
890174fd3e
|
@ -1 +1,2 @@
|
||||||
/target
|
/target
|
||||||
|
Cargo.lock
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
[[package]]
|
|
||||||
name = "nslice"
|
|
||||||
version = "0.1.0"
|
|
|
@ -1,10 +1,11 @@
|
||||||
[package]
|
[package]
|
||||||
name = "nslice"
|
name = "nslice"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
authors = ["Leonora Tindall <nora@nora.codes>"]
|
authors = ["Leonora Tindall <nora@nora.codes>"]
|
||||||
edition = "2018"
|
edition = "2021"
|
||||||
description = "Structures for interpreting slices of variable length as arrays"
|
description = "Structures for interpreting slices of variable length as arrays"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
keywords = ["memory", "slice", "array"]
|
keywords = ["memory", "slice", "array"]
|
||||||
categories = ["data-structures"]
|
categories = ["data-structures"]
|
||||||
repository = "https://git.nora.codes/nora/nslice"
|
repository = "https://git.nora.codes/nora/nslice"
|
||||||
|
readme = "README.md"
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# nslice
|
||||||
|
|
||||||
|
Structures for interpreting slices of variable length as arrays.
|
||||||
|
|
||||||
|
`nslice` provides `MinSlice` and `ExactSlice` for representing slices known to have
|
||||||
|
either exactly or at least some compile-time-known number of values.
|
||||||
|
|
||||||
|
This is useful when dealing with a slice whose length you expect to be exactly
|
||||||
|
or at least some particular length;
|
||||||
|
rather than making runtime checks on each access,
|
||||||
|
you can check the length once and access values freely with no copying.
|
||||||
|
|
||||||
|
```rust
|
||||||
|
# use nslice::MinSlice;
|
||||||
|
|
||||||
|
let slice = &[1, 2, 3, 4, 5, 6];
|
||||||
|
let minslice: &MinSlice<_, 3> = MinSlice::from_slice(slice).unwrap();
|
||||||
|
assert_eq!(minslice.tail.len(), 3);
|
||||||
|
assert_eq!(minslice.head[0], 1);
|
||||||
|
assert_eq!(minslice.tail[2], 6);
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed MIT.
|
13
src/lib.rs
13
src/lib.rs
|
@ -1,15 +1,4 @@
|
||||||
//! Structures for interpreting slices of variable length as arrays.
|
#![doc=include_str!("../README.md")]
|
||||||
//!
|
|
||||||
//! `nslice` provides `MinSlice` and `ExactSlice` for representing slices known to have
|
|
||||||
//! either exactly or at least some compile-time-known number of values.
|
|
||||||
//! ```
|
|
||||||
//! use nslice::MinSlice;
|
|
||||||
//! let slice = &[1, 2, 3, 4, 5, 6];
|
|
||||||
//! let minslice: &MinSlice<_, 3> = MinSlice::from_slice(slice).unwrap();
|
|
||||||
//! assert_eq!(minslice.tail.len(), 3);
|
|
||||||
//! assert_eq!(minslice.head[0], 1);
|
|
||||||
//! assert_eq!(minslice.tail[2], 6);
|
|
||||||
//! ```
|
|
||||||
use std::slice;
|
use std::slice;
|
||||||
|
|
||||||
/// A reference to a region of memory which is known to contain `N` or more elements
|
/// A reference to a region of memory which is known to contain `N` or more elements
|
||||||
|
|
Loading…
Reference in New Issue