collections::slice::Iter - Rust
Description: API documentation for the Rust `Iter` struct in crate `collections`.
Keywords: rust, rustlang, rust-lang, Iter

# Struct collections::slice::Iter 1.0.0 [−] [src]

    pub struct Iter<'a, T> where
        T: 'a,  { /* fields omitted */ }

Immutable slice iterator

This struct is created by the `iter` method on slices.

# Examples

Basic usage:

    // First, we declare a type which has `iter` method to get the `Iter` struct (&[usize here]):
    let slice = &[1, 2, 3];

    // Then, we iterate over it:
    for element in slice.iter() {
        println!("{}", element);
    }

## Methods

### `impl<'a, T> Iter<'a, T>`
[src]

#### `fn as_slice(&self) -> &'a [T]`
1.4.0
[src]

View the underlying data as a subslice of the original data.

This has the same lifetime as the original slice, and so the iterator can continue to be used while this exists.

# Examples

Basic usage:

    // First, we declare a type which has the `iter` method to get the `Iter`
    // struct (&[usize here]):
    let slice = &[1, 2, 3];

    // Then, we get the iterator:
    let mut iter = slice.iter();
    // So if we print what `as_slice` method returns here, we have "[1, 2, 3]":
    println!("{:?}", iter.as_slice());

    // Next, we move to the second element of the slice:
    iter.next();
    // Now `as_slice` returns "[2, 3]":
    println!("{:?}", iter.as_slice());

## Trait Implementations

### `impl<'a, T> TrustedLen for Iter<'a, T>`
[src]

### `impl<'a, T> Clone for Iter<'a, T>`
[src]

#### `fn clone(&self) -> Iter<'a, T>`
[src]

### `impl<'a, T> AsRef<[T]> for Iter<'a, T>`
1.13.0
[src]

#### `fn as_ref(&self) -> &[T]`
[src]

### `impl<'a, T> Debug for Iter<'a, T> where
T: 'a + Debug,`
1.9.0
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`
[src]

Formats the value using the given formatter.

### `impl<'a, T> Send for Iter<'a, T> where
T: Sync,`
[src]

### `impl<'a, T> FusedIterator for Iter<'a, T>`
[src]

### `impl<'a, T> Iterator for Iter<'a, T>`
[src]

#### `type Item = &'a T`

#### `fn next(&mut self) -> Option<&'a T>`
[src]

#### `fn size_hint(&self) -> (usize, Option<usize>)`
[src]

#### `fn count(self) -> usize`
[src]

#### `fn nth(&mut self, n: usize) -> Option<&'a T>`
[src]

#### `fn last(self) -> Option<&'a T>`
[src]

#### `fn all<F>(&mut self, predicate: F) -> bool where
F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,`
[src]

#### `fn any<F>(&mut self, predicate: F) -> bool where
F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,`
[src]

#### `fn find<F>(&mut self, predicate: F) -> Option<<Iter<'a, T> as Iterator>::Item> where
F: FnMut(&<Iter<'a, T> as Iterator>::Item) -> bool,`
[src]

#### `fn position<F>(&mut self, predicate: F) -> Option<usize> where
F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,`
[src]

#### `fn rposition<F>(&mut self, predicate: F) -> Option<usize> where
F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,`
[src]

### `impl<'a, T> Sync for Iter<'a, T> where
T: Sync,`
[src]

### `impl<'a, T> ExactSizeIterator for Iter<'a, T>`
[src]

#### `fn is_empty(&self) -> bool`
[src]

### `impl<'a, T> DoubleEndedIterator for Iter<'a, T>`
[src]

#### `fn next_back(&mut self) -> Option<&'a T>`
[src]

#### `fn rfind<F>(&mut self, predicate: F) -> Option<<Iter<'a, T> as Iterator>::Item> where
F: FnMut(&<Iter<'a, T> as Iterator>::Item) -> bool,`
[src]

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)