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
Clonetrait) - 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/Copytrait) - 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.