Trait enso_flexer::prelude::logger::prelude::iter::IntoIterator1.0.0[][src]

pub trait IntoIterator {
    type Item;
    type IntoIter: Iterator;
    fn into_iter(self) -> Self::IntoIter;
}
Expand description

Conversion into an Iterator.

By implementing IntoIterator for a type, you define how it will be converted to an iterator. This is common for types which describe a collection of some kind.

One benefit of implementing IntoIterator is that your type will work with Rust’s for loop syntax.

See also: FromIterator.

Examples

Basic usage:

let v = vec![1, 2, 3];
let mut iter = v.into_iter();

assert_eq!(Some(1), iter.next());
assert_eq!(Some(2), iter.next());
assert_eq!(Some(3), iter.next());
assert_eq!(None, iter.next());

Implementing IntoIterator for your type:

// A sample collection, that's just a wrapper over Vec<T>
#[derive(Debug)]
struct MyCollection(Vec<i32>);

// Let's give it some methods so we can create one and add things
// to it.
impl MyCollection {
    fn new() -> MyCollection {
        MyCollection(Vec::new())
    }

    fn add(&mut self, elem: i32) {
        self.0.push(elem);
    }
}

// and we'll implement IntoIterator
impl IntoIterator for MyCollection {
    type Item = i32;
    type IntoIter = std::vec::IntoIter<Self::Item>;

    fn into_iter(self) -> Self::IntoIter {
        self.0.into_iter()
    }
}

// Now we can make a new collection...
let mut c = MyCollection::new();

// ... add some stuff to it ...
c.add(0);
c.add(1);
c.add(2);

// ... and then turn it into an Iterator:
for (i, n) in c.into_iter().enumerate() {
    assert_eq!(i as i32, n);
}

It is common to use IntoIterator as a trait bound. This allows the input collection type to change, so long as it is still an iterator. Additional bounds can be specified by restricting on Item:

fn collect_as_strings<T>(collection: T) -> Vec<String>
where
    T: IntoIterator,
    T::Item: std::fmt::Debug,
{
    collection
        .into_iter()
        .map(|item| format!("{:?}", item))
        .collect()
}

Associated Types

type Item[src]

Expand description

The type of the elements being iterated over.

type IntoIter: Iterator[src]

Expand description

Which kind of iterator are we turning this into?

Loading content...

Required methods

fn into_iter(self) -> Self::IntoIter[src]

Expand description

Creates an iterator from a value.

See the module-level documentation for more.

Examples

Basic usage:

let v = vec![1, 2, 3];
let mut iter = v.into_iter();

assert_eq!(Some(1), iter.next());
assert_eq!(Some(2), iter.next());
assert_eq!(Some(3), iter.next());
assert_eq!(None, iter.next());
Loading content...

Implementations on Foreign Types

impl<'a> IntoIterator for &'a UnixListener[src]

type Item = Result<UnixStream, Error>

type IntoIter = Incoming<'a>

pub fn into_iter(self) -> Incoming<'a>

Notable traits for Incoming<'a>

impl<'a> Iterator for Incoming<'a> type Item = Result<UnixStream, Error>;
[src]

impl<'a, T> IntoIterator for &'a Receiver<T>[src]

type Item = T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = T;
[src]

impl<'a> IntoIterator for &'a PathBuf[src]

type Item = &'a OsStr

type IntoIter = Iter<'a>

pub fn into_iter(self) -> Iter<'a>

Notable traits for Iter<'a>

impl<'a> Iterator for Iter<'a> type Item = &'a OsStr;
[src]

impl<'a> IntoIterator for &'a Path[src]

type Item = &'a OsStr

type IntoIter = Iter<'a>

pub fn into_iter(self) -> Iter<'a>

Notable traits for Iter<'a>

impl<'a> Iterator for Iter<'a> type Item = &'a OsStr;
[src]

impl<T> IntoIterator for Receiver<T>[src]

type Item = T

type IntoIter = IntoIter<T>

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<T>

impl<T> Iterator for IntoIter<T> type Item = T;
[src]

impl<'a, T> IntoIterator for &'a [T][src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<T> IntoIterator for Option<T>[src]

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<A>

impl<A> Iterator for IntoIter<A> type Item = A;
[src]

Returns a consuming iterator over the possibly contained value.

Examples

let x = Some("string");
let v: Vec<&str> = x.into_iter().collect();
assert_eq!(v, ["string"]);

let x = None;
let v: Vec<&str> = x.into_iter().collect();
assert!(v.is_empty());

type Item = T

type IntoIter = IntoIter<T>

impl<'a, T> IntoIterator for &'a mut Option<T>[src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> IterMut<'a, T>

Notable traits for IterMut<'a, A>

impl<'a, A> Iterator for IterMut<'a, A> type Item = &'a mut A;
[src]

impl<'a, T, E> IntoIterator for &'a Result<T, E>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<'a, T> IntoIterator for &'a mut [T][src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> IterMut<'a, T>

Notable traits for IterMut<'a, T>

impl<'a, T> Iterator for IterMut<'a, T> type Item = &'a mut T;
[src]

impl<'a, T, const N: usize> IntoIterator for &'a mut [T; N][src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> IterMut<'a, T>

Notable traits for IterMut<'a, T>

impl<'a, T> Iterator for IterMut<'a, T> type Item = &'a mut T;
[src]

impl<T, const N: usize> IntoIterator for [T; N][src]

pub fn into_iter(self) -> <[T; N] as IntoIterator>::IntoIter[src]

Creates a consuming iterator, that is, one that moves each value out of the array (from start to end). The array cannot be used after calling this unless T implements Copy, so the whole array is copied.

Arrays have special behavior when calling .into_iter() prior to the 2021 edition – see the array Editions section for more information.

type Item = T

type IntoIter = IntoIter<T, N>

impl<'a, T, const N: usize> IntoIterator for &'a [T; N][src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<'a, T> IntoIterator for &'a Option<T>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, A>

impl<'a, A> Iterator for Iter<'a, A> type Item = &'a A;
[src]

impl<'a, T, E> IntoIterator for &'a mut Result<T, E>[src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> IterMut<'a, T>

Notable traits for IterMut<'a, T>

impl<'a, T> Iterator for IterMut<'a, T> type Item = &'a mut T;
[src]

impl<T, E> IntoIterator for Result<T, E>[src]

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<T>

impl<T> Iterator for IntoIter<T> type Item = T;
[src]

Returns a consuming iterator over the possibly contained value.

The iterator yields one value if the result is Result::Ok, otherwise none.

Examples

Basic usage:

let x: Result<u32, &str> = Ok(5);
let v: Vec<u32> = x.into_iter().collect();
assert_eq!(v, [5]);

let x: Result<u32, &str> = Err("nothing!");
let v: Vec<u32> = x.into_iter().collect();
assert_eq!(v, []);

type Item = T

type IntoIter = IntoIter<T>

impl<'a, T, A> IntoIterator for &'a Vec<T, A> where
    A: Allocator
[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<'a, T> IntoIterator for &'a VecDeque<T>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<T, A> IntoIterator for Vec<T, A> where
    A: Allocator
[src]

pub fn into_iter(self) -> IntoIter<T, A>

Notable traits for IntoIter<T, A>

impl<T, A> Iterator for IntoIter<T, A> where
    A: Allocator
type Item = T;
[src]

Creates a consuming iterator, that is, one that moves each value out of the vector (from start to end). The vector cannot be used after calling this.

Examples

let v = vec!["a".to_string(), "b".to_string()];
for s in v.into_iter() {
    // s has type String, not &String
    println!("{}", s);
}

type Item = T

type IntoIter = IntoIter<T, A>

impl<'a, T> IntoIterator for &'a LinkedList<T>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<T> IntoIterator for BTreeSet<T>[src]

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<T>

impl<T> Iterator for IntoIter<T> type Item = T;
[src]

Gets an iterator for moving out the BTreeSet’s contents.

Examples

use std::collections::BTreeSet;

let set: BTreeSet<usize> = [1, 2, 3, 4].iter().cloned().collect();

let v: Vec<_> = set.into_iter().collect();
assert_eq!(v, [1, 2, 3, 4]);

type Item = T

type IntoIter = IntoIter<T>

impl<'a, T> IntoIterator for &'a mut VecDeque<T>[src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> IterMut<'a, T>

Notable traits for IterMut<'a, T>

impl<'a, T> Iterator for IterMut<'a, T> type Item = &'a mut T;
[src]

impl<'a, T, A> IntoIterator for &'a mut Vec<T, A> where
    A: Allocator
[src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> IterMut<'a, T>

Notable traits for IterMut<'a, T>

impl<'a, T> Iterator for IterMut<'a, T> type Item = &'a mut T;
[src]

impl<'a, T> IntoIterator for &'a BTreeSet<T>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<T> IntoIterator for LinkedList<T>[src]

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<T>

impl<T> Iterator for IntoIter<T> type Item = T;
[src]

Consumes the list into an iterator yielding elements by value.

type Item = T

type IntoIter = IntoIter<T>

impl<'a, T> IntoIterator for &'a BinaryHeap<T>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, T>

impl<'a, T> Iterator for Iter<'a, T> type Item = &'a T;
[src]

impl<T> IntoIterator for VecDeque<T>[src]

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<T>

impl<T> Iterator for IntoIter<T> type Item = T;
[src]

Consumes the VecDeque into a front-to-back iterator yielding elements by value.

type Item = T

type IntoIter = IntoIter<T>

impl<T> IntoIterator for BinaryHeap<T>[src]

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<T>

impl<T> Iterator for IntoIter<T> type Item = T;
[src]

Creates a consuming iterator, that is, one that moves each value out of the binary heap in arbitrary order. The binary heap cannot be used after calling this.

Examples

Basic usage:

use std::collections::BinaryHeap;
let heap = BinaryHeap::from(vec![1, 2, 3, 4]);

// Print 1, 2, 3, 4 in arbitrary order
for x in heap.into_iter() {
    // x has type i32, not &i32
    println!("{}", x);
}

type Item = T

type IntoIter = IntoIter<T>

impl<'a, T> IntoIterator for &'a mut LinkedList<T>[src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> IterMut<'a, T>

Notable traits for IterMut<'a, T>

impl<'a, T> Iterator for IterMut<'a, T> type Item = &'a mut T;
[src]

impl<'a> IntoIterator for FunctionSectionReader<'a>

type Item = Result<u32, BinaryReaderError>

type IntoIter = SectionIteratorLimited<FunctionSectionReader<'a>>

pub fn into_iter(self) -> <FunctionSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for GlobalSectionReader<'a>

type Item = Result<Global<'a>, BinaryReaderError>

type IntoIter = SectionIteratorLimited<GlobalSectionReader<'a>>

pub fn into_iter(self) -> <GlobalSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for ProducersSectionReader<'a>

type Item = Result<ProducersField<'a>, BinaryReaderError>

type IntoIter = SectionIteratorLimited<ProducersSectionReader<'a>>

pub fn into_iter(self) -> <ProducersSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for CodeSectionReader<'a>

pub fn into_iter(self) -> <CodeSectionReader<'a> as IntoIterator>::IntoIter

Implements iterator over the code section.

Examples

use wasmparser::ModuleReader;
let mut reader = ModuleReader::new(data).expect("module reader");
let section = reader.read().expect("type section");
let section = reader.read().expect("function section");
let section = reader.read().expect("code section");
let mut code_reader = section.get_code_section_reader().expect("code section reader");
for body in code_reader {
    let mut binary_reader = body.expect("b").get_binary_reader();
    assert!(binary_reader.read_local_count().expect("local count") == 0);
    let op = binary_reader.read_operator().expect("first operator");
    println!("First operator: {:?}", op);
}

type Item = Result<FunctionBody<'a>, BinaryReaderError>

type IntoIter = SectionIteratorLimited<CodeSectionReader<'a>>

impl<'a> IntoIterator for NameSectionReader<'a>

type Item = Result<Name<'a>, BinaryReaderError>

type IntoIter = SectionIterator<NameSectionReader<'a>>

pub fn into_iter(self) -> <NameSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for TableSectionReader<'a>

type Item = Result<TableType, BinaryReaderError>

type IntoIter = SectionIteratorLimited<TableSectionReader<'a>>

pub fn into_iter(self) -> <TableSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for ModuleReader<'a>

type Item = Result<Section<'a>, BinaryReaderError>

type IntoIter = ModuleIterator<'a>

pub fn into_iter(self) -> <ModuleReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for ElementSectionReader<'a>

type Item = Result<Element<'a>, BinaryReaderError>

type IntoIter = SectionIteratorLimited<ElementSectionReader<'a>>

pub fn into_iter(self) -> <ElementSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for RelocSectionReader<'a>

type Item = Result<Reloc, BinaryReaderError>

type IntoIter = SectionIteratorLimited<RelocSectionReader<'a>>

pub fn into_iter(self) -> <RelocSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for TypeSectionReader<'a>

pub fn into_iter(self) -> <TypeSectionReader<'a> as IntoIterator>::IntoIter

Implements iterator over the type section.

Examples

use wasmparser::ModuleReader;
use wasmparser::{Result, FuncType};
let mut reader = ModuleReader::new(data).expect("module reader");
let section = reader.read().expect("section");
let mut type_reader = section.get_type_section_reader().expect("type section reader");
for ty in type_reader {
    println!("Type {:?}", ty);
}

type Item = Result<FuncType, BinaryReaderError>

type IntoIter = SectionIteratorLimited<TypeSectionReader<'a>>

impl<'a> IntoIterator for LocalsReader<'a>

type Item = Result<(u32, Type), BinaryReaderError>

type IntoIter = LocalsIterator<'a>

pub fn into_iter(self) -> <LocalsReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for &'a BrTable<'a>

type Item = u32

type IntoIter = BrTableIterator<'a>

pub fn into_iter(self) -> <&'a BrTable<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for ImportSectionReader<'a>

type Item = Result<Import<'a>, BinaryReaderError>

type IntoIter = SectionIteratorLimited<ImportSectionReader<'a>>

pub fn into_iter(self) -> <ImportSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for DataSectionReader<'a>

type Item = Result<Data<'a>, BinaryReaderError>

type IntoIter = SectionIteratorLimited<DataSectionReader<'a>>

pub fn into_iter(self) -> <DataSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for OperatorsReader<'a>

pub fn into_iter(self) -> <OperatorsReader<'a> as IntoIterator>::IntoIter

Reads content of the code section.

Examples

use wasmparser::{ModuleReader, Result, Operator};
let mut reader = ModuleReader::new(data).expect("module reader");
let section = reader.read().expect("type section");
let section = reader.read().expect("function section");
let section = reader.read().expect("code section");
let mut code_reader = section.get_code_section_reader().expect("code section reader");
for _ in 0..code_reader.get_count() {
    let body = code_reader.read().expect("function body");
    let mut op_reader = body.get_operators_reader().expect("op reader");
    let ops = op_reader.into_iter().collect::<Result<Vec<Operator>>>().expect("ops");
    assert!(
        if let [Operator::Nop, Operator::End] = ops.as_slice() { true } else { false },
        "found {:?}",
        ops
    );
}

type Item = Result<Operator<'a>, BinaryReaderError>

type IntoIter = OperatorsIterator<'a>

impl<'a> IntoIterator for ProducersFieldValuesReader<'a>

type Item = Result<ProducersFieldValue<'a>, BinaryReaderError>

type IntoIter = ProducersFieldValuesIterator<'a>

pub fn into_iter(
    self
) -> <ProducersFieldValuesReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for MemorySectionReader<'a>

type Item = Result<MemoryType, BinaryReaderError>

type IntoIter = SectionIteratorLimited<MemorySectionReader<'a>>

pub fn into_iter(self) -> <MemorySectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for ExportSectionReader<'a>

type Item = Result<Export<'a>, BinaryReaderError>

type IntoIter = SectionIteratorLimited<ExportSectionReader<'a>>

pub fn into_iter(self) -> <ExportSectionReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for ElementItemsReader<'a>

type Item = Result<ElementItem, BinaryReaderError>

type IntoIter = ElementItemsIterator<'a>

pub fn into_iter(self) -> <ElementItemsReader<'a> as IntoIterator>::IntoIter

impl<'a> IntoIterator for LinkingSectionReader<'a>

type Item = Result<LinkingType, BinaryReaderError>

type IntoIter = SectionIteratorLimited<LinkingSectionReader<'a>>

pub fn into_iter(self) -> <LinkingSectionReader<'a> as IntoIterator>::IntoIter

impl<'a, I> IntoIterator for &'a RcIter<I> where
    I: Iterator
[src]

Return an iterator from &RcIter<I> (by simply cloning it).

type Item = <I as Iterator>::Item

type IntoIter = RcIter<I>

pub fn into_iter(self) -> RcIter<I>

Notable traits for RcIter<I>

impl<A, I> Iterator for RcIter<I> where
    I: Iterator<Item = A>, 
type Item = A;
[src]

impl<'a, K, I, F> IntoIterator for &'a GroupBy<K, I, F> where
    K: PartialEq<K>,
    F: FnMut(&<I as Iterator>::Item) -> K,
    I: Iterator,
    <I as Iterator>::Item: 'a, 
[src]

type Item = (K, Group<'a, K, I, F>)

type IntoIter = Groups<'a, K, I, F>

pub fn into_iter(self) -> <&'a GroupBy<K, I, F> as IntoIterator>::IntoIter[src]

impl<'a, I> IntoIterator for &'a IntoChunks<I> where
    I: Iterator,
    <I as Iterator>::Item: 'a, 
[src]

type Item = Chunk<'a, I>

type IntoIter = Chunks<'a, I>

pub fn into_iter(self) -> <&'a IntoChunks<I> as IntoIterator>::IntoIter[src]

impl<'a> IntoIterator for &'a Iterator[src]

type Item = Result<JsValue, JsValue>

type IntoIter = Iter<'a>

pub fn into_iter(self) -> Iter<'a>

Notable traits for Iter<'a>

impl<'a> Iterator for Iter<'a> type Item = Result<JsValue, JsValue>;
[src]

impl IntoIterator for Iterator[src]

type Item = Result<JsValue, JsValue>

type IntoIter = IntoIter

pub fn into_iter(self) -> IntoIter

Notable traits for IntoIter

impl Iterator for IntoIter type Item = Result<JsValue, JsValue>;
[src]

impl<'a, N, R, C, S> IntoIterator for &'a Matrix<N, R, C, S> where
    C: Dim,
    R: Dim,
    S: Storage<N, R, C>,
    N: Scalar
[src]

type Item = &'a N

type IntoIter = MatrixIter<'a, N, R, C, S>

pub fn into_iter(self) -> <&'a Matrix<N, R, C, S> as IntoIterator>::IntoIter[src]

impl<'a, N, R, C, S> IntoIterator for &'a mut Matrix<N, R, C, S> where
    C: Dim,
    R: Dim,
    S: StorageMut<N, R, C>,
    N: Scalar
[src]

type Item = &'a mut N

type IntoIter = MatrixIterMut<'a, N, R, C, S>

pub fn into_iter(self) -> <&'a mut Matrix<N, R, C, S> as IntoIterator>::IntoIter[src]

impl<T, N> IntoIterator for GenericArray<T, N> where
    N: ArrayLength<T>, 

type Item = T

type IntoIter = GenericArrayIter<T, N>

pub fn into_iter(self) -> <GenericArray<T, N> as IntoIterator>::IntoIter

impl<'a, T, N> IntoIterator for &'a GenericArray<T, N> where
    T: 'a,
    N: ArrayLength<T>, 

type IntoIter = Iter<'a, T>

type Item = &'a T

pub fn into_iter(self) -> <&'a GenericArray<T, N> as IntoIterator>::IntoIter

impl<'a, T, N> IntoIterator for &'a mut GenericArray<T, N> where
    T: 'a,
    N: ArrayLength<T>, 

type IntoIter = IterMut<'a, T>

type Item = &'a mut T

pub fn into_iter(self) -> <&'a mut GenericArray<T, N> as IntoIterator>::IntoIter

impl IntoIterator for TokenStream[src]

type Item = TokenTree

type IntoIter = IntoIter

pub fn into_iter(self) -> IntoIter

Notable traits for IntoIter

impl Iterator for IntoIter type Item = TokenTree;
[src]

impl IntoIterator for TokenStream[src]

type Item = TokenTree

type IntoIter = IntoIter

pub fn into_iter(self) -> IntoIter

Notable traits for IntoIter

impl Iterator for IntoIter type Item = TokenTree;
[src]

impl<'a, T, P> IntoIterator for &'a mut Punctuated<T, P>[src]

type Item = &'a mut T

type IntoIter = IterMut<'a, T>

pub fn into_iter(self) -> <&'a mut Punctuated<T, P> as IntoIterator>::IntoIter[src]

impl<'a, T, P> IntoIterator for &'a Punctuated<T, P>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> <&'a Punctuated<T, P> as IntoIterator>::IntoIter[src]

impl<T, P> IntoIterator for Punctuated<T, P>[src]

type Item = T

type IntoIter = IntoIter<T>

pub fn into_iter(self) -> <Punctuated<T, P> as IntoIterator>::IntoIter[src]

impl IntoIterator for Fields[src]

impl<'a> IntoIterator for &'a Fields[src]

type Item = &'a Field

type IntoIter = Iter<'a, Field>

pub fn into_iter(self) -> <&'a Fields as IntoIterator>::IntoIter[src]

impl<'a> IntoIterator for &'a Error[src]

type Item = Error

type IntoIter = Iter<'a>

pub fn into_iter(self) -> <&'a Error as IntoIterator>::IntoIter[src]

impl IntoIterator for Error[src]

type Item = Error

type IntoIter = IntoIter

pub fn into_iter(self) -> <Error as IntoIterator>::IntoIter[src]

impl<'a> IntoIterator for &'a mut Fields[src]

type Item = &'a mut Field

type IntoIter = IterMut<'a, Field>

pub fn into_iter(self) -> <&'a mut Fields as IntoIterator>::IntoIter[src]

Loading content...

Implementors

impl<'a, A> IntoIterator for &'a SmallVec<A> where
    A: Array, 

type IntoIter = Iter<'a, <A as Array>::Item>

type Item = &'a <A as Array>::Item

pub fn into_iter(self) -> <&'a SmallVec<A> as IntoIterator>::IntoIter

impl<'a, A> IntoIterator for &'a mut SmallVec<A> where
    A: Array, 

type IntoIter = IterMut<'a, <A as Array>::Item>

type Item = &'a mut <A as Array>::Item

pub fn into_iter(self) -> <&'a mut SmallVec<A> as IntoIterator>::IntoIter

impl<'a, K, V> IntoIterator for &'a BTreeMap<K, V>[src]

type Item = (&'a K, &'a V)

type IntoIter = Iter<'a, K, V>

pub fn into_iter(self) -> Iter<'a, K, V>

Notable traits for Iter<'a, K, V>

impl<'a, K, V> Iterator for Iter<'a, K, V> where
    K: 'a,
    V: 'a, 
type Item = (&'a K, &'a V);
[src]

impl<'a, K, V> IntoIterator for &'a mut BTreeMap<K, V>[src]

type Item = (&'a K, &'a mut V)

type IntoIter = IterMut<'a, K, V>

pub fn into_iter(self) -> IterMut<'a, K, V>

Notable traits for IterMut<'a, K, V>

impl<'a, K, V> Iterator for IterMut<'a, K, V> where
    K: 'a,
    V: 'a, 
type Item = (&'a K, &'a mut V);
[src]

impl<'a, K, V, S> IntoIterator for &'a HashMap<K, V, S>[src]

type Item = (&'a K, &'a V)

type IntoIter = Iter<'a, K, V>

pub fn into_iter(self) -> Iter<'a, K, V>

Notable traits for Iter<'a, K, V>

impl<'a, K, V> Iterator for Iter<'a, K, V> type Item = (&'a K, &'a V);
[src]

impl<'a, K, V, S> IntoIterator for &'a PtrWeakKeyHashMap<K, V, S> where
    K: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, &'a V)

type IntoIter = Iter<'a, ByPtr<K>, V>

pub fn into_iter(
    self
) -> <&'a PtrWeakKeyHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<'a, K, V, S> IntoIterator for &'a PtrWeakWeakHashMap<K, V, S> where
    K: WeakElement,
    V: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, <V as WeakElement>::Strong)

type IntoIter = Iter<'a, ByPtr<K>, V>

pub fn into_iter(
    self
) -> <&'a PtrWeakWeakHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<'a, K, V, S> IntoIterator for &'a WeakKeyHashMap<K, V, S> where
    K: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, &'a V)

type IntoIter = Iter<'a, K, V>

pub fn into_iter(
    self
) -> <&'a WeakKeyHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<'a, K, V, S> IntoIterator for &'a WeakValueHashMap<K, V, S> where
    V: WeakElement
[src]

type Item = (&'a K, <V as WeakElement>::Strong)

type IntoIter = Iter<'a, K, V>

pub fn into_iter(
    self
) -> <&'a WeakValueHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<'a, K, V, S> IntoIterator for &'a WeakWeakHashMap<K, V, S> where
    K: WeakElement,
    V: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, <V as WeakElement>::Strong)

type IntoIter = Iter<'a, K, V>

pub fn into_iter(
    self
) -> <&'a WeakWeakHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<'a, K, V, S> IntoIterator for &'a mut HashMap<K, V, S>[src]

type Item = (&'a K, &'a mut V)

type IntoIter = IterMut<'a, K, V>

pub fn into_iter(self) -> IterMut<'a, K, V>

Notable traits for IterMut<'a, K, V>

impl<'a, K, V> Iterator for IterMut<'a, K, V> type Item = (&'a K, &'a mut V);
[src]

impl<'a, K, V, S> IntoIterator for &'a mut PtrWeakKeyHashMap<K, V, S> where
    K: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, &'a mut V)

type IntoIter = IterMut<'a, ByPtr<K>, V>

pub fn into_iter(
    self
) -> <&'a mut PtrWeakKeyHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<'a, K, V, S> IntoIterator for &'a mut WeakKeyHashMap<K, V, S> where
    K: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, &'a mut V)

type IntoIter = IterMut<'a, K, V>

pub fn into_iter(
    self
) -> <&'a mut WeakKeyHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<'a, T, S> IntoIterator for &'a HashSet<T, S>[src]

type Item = &'a T

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> Iter<'a, T>

Notable traits for Iter<'a, K>

impl<'a, K> Iterator for Iter<'a, K> type Item = &'a K;
[src]

impl<'a, T, S> IntoIterator for &'a PtrWeakHashSet<T, S> where
    T: WeakElement,
    <T as WeakElement>::Strong: Deref
[src]

type Item = <T as WeakElement>::Strong

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> <&'a PtrWeakHashSet<T, S> as IntoIterator>::IntoIter[src]

impl<'a, T, S> IntoIterator for &'a WeakHashSet<T, S> where
    T: WeakKey
[src]

type Item = <T as WeakElement>::Strong

type IntoIter = Iter<'a, T>

pub fn into_iter(self) -> <&'a WeakHashSet<T, S> as IntoIterator>::IntoIter[src]

impl<A> IntoIterator for SmallVec<A> where
    A: Array, 

type IntoIter = IntoIter<A>

type Item = <A as Array>::Item

pub fn into_iter(self) -> <SmallVec<A> as IntoIterator>::IntoIter

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

type Item = <I as Iterator>::Item

type IntoIter = I

pub fn into_iter(self) -> I[src]

impl<K, V> IntoIterator for BTreeMap<K, V>[src]

type Item = (K, V)

type IntoIter = IntoIter<K, V>

pub fn into_iter(self) -> IntoIter<K, V>

Notable traits for IntoIter<K, V>

impl<K, V> Iterator for IntoIter<K, V> type Item = (K, V);
[src]

impl<K, V, S> IntoIterator for HashMap<K, V, S>[src]

pub fn into_iter(self) -> IntoIter<K, V>

Notable traits for IntoIter<K, V>

impl<K, V> Iterator for IntoIter<K, V> type Item = (K, V);
[src]

Creates a consuming iterator, that is, one that moves each key-value pair out of the map in arbitrary order. The map cannot be used after calling this.

Examples

use std::collections::HashMap;

let mut map = HashMap::new();
map.insert("a", 1);
map.insert("b", 2);
map.insert("c", 3);

// Not possible with .iter()
let vec: Vec<(&str, i32)> = map.into_iter().collect();

type Item = (K, V)

type IntoIter = IntoIter<K, V>

impl<K, V, S> IntoIterator for PtrWeakKeyHashMap<K, V, S> where
    K: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, V)

type IntoIter = IntoIter<ByPtr<K>, V>

pub fn into_iter(self) -> <PtrWeakKeyHashMap<K, V, S> as IntoIterator>::IntoIter[src]

impl<K, V, S> IntoIterator for PtrWeakWeakHashMap<K, V, S> where
    K: WeakElement,
    V: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, <V as WeakElement>::Strong)

type IntoIter = IntoIter<ByPtr<K>, V>

pub fn into_iter(
    self
) -> <PtrWeakWeakHashMap<K, V, S> as IntoIterator>::IntoIter
[src]

impl<K, V, S> IntoIterator for WeakKeyHashMap<K, V, S> where
    K: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, V)

type IntoIter = IntoIter<K, V>

pub fn into_iter(self) -> <WeakKeyHashMap<K, V, S> as IntoIterator>::IntoIter[src]

impl<K, V, S> IntoIterator for WeakValueHashMap<K, V, S> where
    V: WeakElement
[src]

type Item = (K, <V as WeakElement>::Strong)

type IntoIter = IntoIter<K, V>

pub fn into_iter(self) -> <WeakValueHashMap<K, V, S> as IntoIterator>::IntoIter[src]

impl<K, V, S> IntoIterator for WeakWeakHashMap<K, V, S> where
    K: WeakElement,
    V: WeakElement
[src]

type Item = (<K as WeakElement>::Strong, <V as WeakElement>::Strong)

type IntoIter = IntoIter<K, V>

pub fn into_iter(self) -> <WeakWeakHashMap<K, V, S> as IntoIterator>::IntoIter[src]

impl<T, S> IntoIterator for HashSet<T, S>[src]

pub fn into_iter(self) -> IntoIter<T>

Notable traits for IntoIter<K>

impl<K> Iterator for IntoIter<K> type Item = K;
[src]

Creates a consuming iterator, that is, one that moves each value out of the set in arbitrary order. The set cannot be used after calling this.

Examples

use std::collections::HashSet;
let mut set = HashSet::new();
set.insert("a".to_string());
set.insert("b".to_string());

// Not possible to collect to a Vec<String> with a regular `.iter()`.
let v: Vec<String> = set.into_iter().collect();

// Will print in an arbitrary order.
for x in &v {
    println!("{}", x);
}

type Item = T

type IntoIter = IntoIter<T>

impl<T, S> IntoIterator for PtrWeakHashSet<T, S> where
    T: WeakElement
[src]

type Item = <T as WeakElement>::Strong

type IntoIter = IntoIter<T>

pub fn into_iter(self) -> <PtrWeakHashSet<T, S> as IntoIterator>::IntoIter[src]

impl<T, S> IntoIterator for WeakHashSet<T, S> where
    T: WeakKey
[src]

type Item = <T as WeakElement>::Strong

type IntoIter = IntoIter<T>

pub fn into_iter(self) -> <WeakHashSet<T, S> as IntoIterator>::IntoIter[src]

Loading content...