arraydeque
A circular buffer with fixed capacity. Requires Rust 1.12+.
This crate is inspired by bluss/arrayvec
Documentation
Feature Flags
The arraydeque crate has the following cargo feature flags:
-
std
- Optional, enabled by default
- Requires Rust 1.6 to disable
- Use libstd
-
use_union
- Optional
- Requires Rust nightly channel
- Use the unstable feature untagged unions for the internal implementation, which has reduced space overhead
-
use_generic_array
- Optional
- Requires Rust stable channel
- Depend on generic-array and allow using it just like a fixed size array for ArrayVec storage.
Usage
First, add the following to your Cargo.toml
:
[]
= "0.1.3"
Next, add this to your crate root:
extern crate arraydeque;
Currently arraydeque by default links to the standard library, but if you would
instead like to use arraydeque in a #![no_std]
situation or crate you can
request this via:
[]
= { = "0.1.3", = false }
Example
Push & Pop
extern crate arraydeque;
use ArrayDeque;
Insert & Remove
use ArrayDeque;
let mut vector: = new;
vector.push_back;
vector.push_back;
vector.insert;
vector.remove;
assert_eq!;
assert_eq!;
Append & Extend
use ArrayDeque;
let mut vector: = new;
let mut vector2: = new;
vector.extend;
vector2.extend;
assert_eq!;
assert_eq!;
vector.append;
assert_eq!;
assert_eq!;
Iterator
use ArrayDeque;
let mut vector: = new;
vector.extend;
let iters: = vector.into_iter.collect;
assert_eq!;
From Iterator
use ArrayDeque;
let vector: ;
let vector2: ;
vector = vec!.into_iter.collect;
vector2 = .into_iter.collect;
assert_eq!;
Generic Array
[]
= "0.5.1"
[]
= "0.1.3"
= ["use_generic_array"]
extern crate generic_array;
extern crate arraydeque;
use GenericArray;
use U41;
use ArrayDeque;
Contribution
All kinds of contribution are welcomed.
- Issus. Feel free to open an issue when you find typos, bugs, or have any question.
- Pull requests. New collection, better implementation, more tests, more documents and typo fixes are all welcomed.
License
Licensed under MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)