<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/photonsh/themes@0.3.0/photon-light/photon-light.min.css">
<script defer id="photon_lib" src="https://cdn.jsdelivr.net/npm/photon-js@0.1.3/dist/photon.min.js"></script>
<script>
document.querySelector('#photon_lib').addEventListener('load', function() {
photon.highlight({ apiKey: '1d634ab9bb2817a5e1c78937c6ecb3b6' });
})
</script>
<style>
pre {
background-color: whitesmoke;
}
</style>
<title>Queue</title>
</head>
<body>
<main class="container">
<h1>Queue</h1>
<p>
A FIFO queue built around
<a href="https://doc.rust-lang.org/std/vec/struct.Vec.html"><code>Vec</code></a>
with an optional capacity.
</p>
<p>
<a href="https://crates.io/crates/queue">
<img src="https://img.shields.io/crates/v/queue.svg" alt="Crate">
</a>
<a href="https://docs.rs/queue/">
<img src="https://docs.rs/queue/badge.svg" alt="Documentation">
</a>
<a href="https://gitlab.com/rascul/queue/pipelines">
<img src="https://gitlab.com/rascul/queue/badges/master/pipeline.svg" alt="Pipeline">
</a>
<a href="https://rascul.gitlab.io/queue/cov/index.html">
<img src="https://gitlab.com/rascul/queue/badges/master/coverage.svg?job=cov" alt="Coverage">
</a>
<a href="https://gitlab.com/rascul/queue/blob/master/LICENSE">
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License">
</a>
<img src="https://img.shields.io/badge/maintenance-passively--maintained-yellowgreen.svg" alt="Maintenance">
</p>
<p>
The official web site for the queue crate is located at
<a href="https://rascul.gitlab.io/queue">https://rascul.gitlab.io/queue</a>.
Project hosting is provided by <a href="https://gitlab.com">GitLab</a>. The
repository is located at
<a href="https://gitlab.com/rascul/queue">https://gitlab.com/rascul/queue</a>
and may be cloned from that url. The repository is also mirrored to
<a href="https://github.com">GitHub</a> at
<a href="https://github.com/rascul/queue">https://github.com/rascul/queue</a>.
Pull requests, issues, etc. are ignored at GitHub and considered only
via GitLab.
</p>
<h2>Documentation</h2>
<p>
Published releases have documentation at
<a href="https://docs.rs/queue">https://docs.rs/queue</a>.
</p>
<p>
Documentation for lastest master is at
<a href="https://rascul.gitlab.io/queue/queue/index.html">
https://rascul.gitlab.io/queue/queue/index.html
</a> (as long as the pipeline is successful to build and deploy the docs).
</p>
<h2>Test Coverage</h2>
<p>
Coverage report is generated by
<a href="http://simonkagstrom.github.com/kcov/index.html">kcov</a>
and is found (if pipeline is successful) at
<a href="https://rascul.gitlab.io/queue/cov/index.html">
https://rascul.gitlab.io/queue/cov/index.html
</a>.
</p>
<h2>Crate</h2>
<p>
Releases for this library are published on
<a href="https://crates.io">crates.io</a> and are available at
<a href="https://crates.io/crates/queue">https://crates.io/crates/queue</a>.
</p>
<p>
To use the crate, add this to your <code>Cargo.toml</code>:<br>
<pre><code class="language-toml" data-line-numbers="true">
[dependencies]
queue = "0.3"
</code></pre>
</p>
<h2>Usage</h2>
<p>
<pre><code class="language-rust" data-line-numbers="true" data-label>
use queue::Queue;
let mut q = Queue::new();
q.queue("hello").unwrap();
q.queue("out").unwrap();
q.queue("there!").unwrap();
while let Some(item) = q.dequeue() {
println!("{}", item);
}
</code></pre>
</p>
</main>
</body>
</html>