# [−][src]Struct plexus::Perimeter

pub struct Perimeter<I> where    I: Iterator,    I::Item: Clone,  { /* fields omitted */ }

Iterator that produces a window of duplets over its input.

The duplets produced include the first item in the input at both the beginning and end of the iteration, forming a perimeter. Given a collection of ordered items $(a,b,c)$, this iterator yields the ordered items $((a,b),(b,c),(c,a))$.

## Trait Implementations

### impl<I> Iterator for Perimeter<I> where    I: Iterator,    I::Item: Clone, [src]

#### type Item = (I::Item, I::Item)

The type of the elements being iterated over.

## Blanket Implementations

### impl<I> IntoIterator for I where    I: Iterator, [src]

#### type Item = <I as Iterator>::Item

The type of the elements being iterated over.

#### type IntoIter = I

Which kind of iterator are we turning this into?

### impl<T> Same<T> for T

#### type Output = T

Should always be Self

### impl<T> ToOwned for T where    T: Clone, [src]

#### type Owned = T

The resulting type after obtaining ownership.

### impl<T, U> TryFrom<U> for T where    U: Into<T>, [src]

#### type Error = Infallible

The type returned in the event of a conversion error.

### impl<T, U> TryInto<U> for T where    U: TryFrom<T>, [src]

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.