slice_queue
Welcome to my slice_queue
-library 🎊
What this library is:
This library provides a optimized queue for efficient working with (byte-)slices. It allows you to
- efficiently push an arbitrary amount of elements by either consuming them or by cloning them from a slice (if the
type supports the
Clone
trait) - efficiently push an arbitrary amount of elements by either consuming them or by cloning/copying them from a slice (if
the type supports the
Clone
/Copy
trait) - efficiently pop an arbitrary amount of elements from the front
- access the underlying buffer directly by either using
peek*
methods or by using (range-)indices - dereference the
SliceQueue<T>
like it's aVec<T>
(which usually results in a slice)
Important: If you use the feature fast_unsafe_code
, we use some raw-memory-access and -management to speed things up.
Especially if you work a lot of Copy
-types, this may improve the performance drastically. This feature is disabled by
default.
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
; you can find the build
in target/release
.