Single

Build Status crates.io downloads version downloads issues open issues closed

This crate provides the Single trait for extracting the element from a single-element iterator.

License

You may use this crate under the MIT license or the Apache License 2.0 at your discretion. This crate is dual-licensed for compatibility with rust itself.

Trait single::Single

rust pub trait Single { fn single(self) -> Result<Self::Item, Error>; }

Required Methods

fn single(self) -> Result<Self::Item, Error>

Get the single element from a single-element iterator.

Examples

assert_eq!(iter::empty::().single(), Err(single::Error::NoElements));
assert_eq!(iter::once(0).single(), Ok(0));
assert_eq!(iter::repeat(0).single(), Err(single::Error::MultipleElements));

Implementors

rust impl<I: Iterator> Single for I {}