lessvec 0.2.1

A custom Vec implementation using the Rust standard library.
Documentation
  • Coverage
  • 95.45%
    21 out of 22 items documented21 out of 21 items with examples
  • Size
  • Source code size: 27.14 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 6.31 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 19s Average build duration of successful builds.
  • all releases: 20s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • bakayu/lessvec
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • bakayu

lessvec

A minimal, educational Vec-like collection implemented with only the Rust standard library.

crates.io docs.rs License: MIT Build Status GitHub tag

Quick example

use lessvec::LessVec;

let mut v = LessVec::new();
v.push(1);
v.push(2);
assert_eq!(v.as_slice(), &[1, 2]);

Prelude & macro

lessvec exposes a small prelude with the LessVec type and the lessvec! macro:

use lessvec::prelude::*;

// macro to construct a LessVec (same syntax as std `vec!`)
let v = lessvec![1, 2, 3];
assert_eq!(v.as_slice(), &[1, 2, 3]);

// repeating element form (requires Clone)
let r = lessvec![5; 4];
assert_eq!(r.as_slice(), &[5, 5, 5, 5]);

You can also import the macro directly if you prefer:

use lessvec::lessvec;
let v = lessvec![1, 2, 3];

Running the included example

The repository includes an example at examples/basics.rs. Run it with:

cargo run --example basics

You can run the test suite with:

cargo test

License

MIT LICENSE