License License

slice_queue

Welcome to my slice_queue-library 🎊

About This Library

This library provides a optimized queue for efficient working with (byte-)slices. It allows you to - efficiently push an arbitrary amount of elements to the back by either consuming them or by cloning/copying them from a slice (if the type supports the Clone/Copy trait) - communicate and enforce a limit on the amount of elements to store - efficiently pop an arbitrary amount of elements from the front (optionally into a slice to avoid uneccessary reallocations) - access the underlying buffer directly by using either peek* methods or (range-)indices - dereference the SliceQueue<T> by propagating the deref()-call to the underlying Vec<T> (can be disabled; see Feature-Gates)

Feature-Gates

Build Documentation and Library:

To build and open the documentation, go into the project's root-directory and run cargo doc --release --open

To build this library, change into the projects root-directory and run cargo build --release (or cargo build --release --features ... to manually specify the features to use); you can find the build in target/release.

If you use this library for the first time or after an update, we recomment you to run cargo test --release (or cargo test --release --features ... to manually specify the features to use).