Skip to main content

IntoIterator

Trait IntoIterator 

1.0.0 (const: unstable) · Source
pub trait IntoIterator {
    type Item;
    type IntoIter: Iterator<Item = Self::Item>;

    // Required method
    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 = [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()
}

Required Associated Types§

1.0.0 (const: unstable) · Source

type Item

The type of the elements being iterated over.

1.0.0 (const: unstable) · Source

type IntoIter: Iterator<Item = Self::Item>

Which kind of iterator are we turning this into?

Required Methods§

1.0.0 (const: unstable) · Source

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value.

See the module-level documentation for more.

§Examples
let v = [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());

Implementors§

Source§

impl IntoIterator for &FieldSet

Source§

impl IntoIterator for IndexVec

Source§

impl IntoIterator for bytes::bytes::Bytes

Source§

impl IntoIterator for BytesMut

Source§

impl IntoIterator for Error

Source§

impl IntoIterator for Value

Source§

impl IntoIterator for EventMask

Source§

impl IntoIterator for WatchMask

Source§

impl IntoIterator for EventKindMask

Source§

impl IntoIterator for CipherCtxFlags

Source§

impl IntoIterator for CMSOptions

Source§

impl IntoIterator for OcspFlag

Source§

impl IntoIterator for Pkcs7Flags

Source§

impl IntoIterator for ExtensionContext

Source§

impl IntoIterator for ShutdownState

Source§

impl IntoIterator for SslMode

Source§

impl IntoIterator for SslOptions

Source§

impl IntoIterator for SslSessionCacheMode

Source§

impl IntoIterator for SslVerifyMode

Source§

impl IntoIterator for X509CheckFlags

Source§

impl IntoIterator for X509VerifyFlags

Source§

impl IntoIterator for regex::regexset::bytes::SetMatches

Source§

impl IntoIterator for regex::regexset::string::SetMatches

Source§

impl IntoIterator for rustix::backend::event::epoll::CreateFlags

Source§

impl IntoIterator for EventFlags

Source§

impl IntoIterator for PollFlags

Source§

impl IntoIterator for EventfdFlags

Source§

impl IntoIterator for rustix::backend::fs::inotify::CreateFlags

Source§

impl IntoIterator for ReadFlags

Source§

impl IntoIterator for WatchFlags

Source§

impl IntoIterator for Access

Source§

impl IntoIterator for AtFlags

Source§

impl IntoIterator for FallocateFlags

Source§

impl IntoIterator for MemfdFlags

Source§

impl IntoIterator for Mode

Source§

impl IntoIterator for OFlags

Source§

impl IntoIterator for RenameFlags

Source§

impl IntoIterator for ResolveFlags

Source§

impl IntoIterator for SealFlags

Source§

impl IntoIterator for StatVfsMountFlags

Source§

impl IntoIterator for DupFlags

Source§

impl IntoIterator for FdFlags

Source§

impl IntoIterator for ReadWriteFlags

Source§

impl IntoIterator for RecvFlags

Source§

impl IntoIterator for ReturnFlags

Source§

impl IntoIterator for SendFlags

Source§

impl IntoIterator for PipeFlags

Source§

impl IntoIterator for SpliceFlags

Source§

impl IntoIterator for TimerfdFlags

Source§

impl IntoIterator for TimerfdTimerFlags

Source§

impl IntoIterator for IFlags

Source§

impl IntoIterator for StatxAttributes

Source§

impl IntoIterator for StatxFlags

Source§

impl IntoIterator for XattrFlags

Source§

impl IntoIterator for SocketFlags

Source§

impl IntoIterator for TxTimeFlags

Source§

impl IntoIterator for SocketAddrXdpFlags

Source§

impl IntoIterator for XdpDescOptions

Source§

impl IntoIterator for XdpOptionsFlags

Source§

impl IntoIterator for XdpRingFlags

Source§

impl IntoIterator for XdpUmemRegFlags

Source§

impl IntoIterator for PidfdFlags

Source§

impl IntoIterator for PidfdGetfdFlags

Source§

impl IntoIterator for FloatingPointEmulationControl

Source§

impl IntoIterator for FloatingPointExceptionMode

Source§

impl IntoIterator for SpeculationFeatureControl

Source§

impl IntoIterator for SpeculationFeatureState

Source§

impl IntoIterator for UnalignedAccessControl

Source§

impl IntoIterator for WaitIdOptions

Source§

impl IntoIterator for WaitOptions

Source§

impl IntoIterator for ControlModes

Source§

impl IntoIterator for InputModes

Source§

impl IntoIterator for LocalModes

Source§

impl IntoIterator for OutputModes

Source§

impl IntoIterator for ByteBuf

Source§

impl IntoIterator for serde_json::map::Map<String, Value>

Source§

impl IntoIterator for toml::map::Map<String, Value>

Source§

impl IntoIterator for toml_edit::array::Array

Source§

impl IntoIterator for ArrayOfTables

Source§

impl IntoIterator for InlineTable

Source§

impl IntoIterator for Table

Source§

impl IntoIterator for BeginFlags

Source§

impl IntoIterator for WalkDir

Source§

impl<'a> IntoIterator for &'a Utf8Sequence

Source§

impl<'a> IntoIterator for &'a AsciiStr

Produces references for compatibility with [u8].

(str doesn’t implement IntoIterator for its references, so there is no compatibility to lose.)

Source§

impl<'a> IntoIterator for &'a async_std::path::path::Path

Source§

impl<'a> IntoIterator for &'a async_std::path::pathbuf::PathBuf

Source§

impl<'a> IntoIterator for &'a bytes::bytes::Bytes

Source§

type Item = &'a u8

Source§

type IntoIter = Iter<'a, u8>

Source§

impl<'a> IntoIterator for &'a BytesMut

Source§

type Item = &'a u8

Source§

type IntoIter = Iter<'a, u8>

Source§

impl<'a> IntoIterator for &'a Events

Source§

impl<'a> IntoIterator for &'a regex::regexset::bytes::SetMatches

Source§

impl<'a> IntoIterator for &'a regex::regexset::string::SetMatches

Source§

impl<'a> IntoIterator for &'a ByteBuf

Source§

impl<'a> IntoIterator for &'a serde_bytes::bytes::Bytes

Source§

impl<'a> IntoIterator for &'a serde_json::map::Map<String, Value>

Source§

type Item = (&'a String, &'a Value)

Source§

type IntoIter = Iter<'a>

Source§

impl<'a> IntoIterator for &'a toml::map::Map<String, Value>

Source§

type Item = (&'a String, &'a Value)

Source§

type IntoIter = Iter<'a>

Source§

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

1.6.0 · Source§

impl<'a> IntoIterator for &'a tor_hsservice::internal_prelude::Path

1.6.0 · Source§

impl<'a> IntoIterator for &'a tor_hsservice::internal_prelude::PathBuf

1.10.0 · Source§

impl<'a> IntoIterator for &'a UnixListener

Source§

impl<'a> IntoIterator for &'a mut AsciiStr

Source§

impl<'a> IntoIterator for &'a mut ByteBuf

Source§

type Item = &'a mut u8

Source§

type IntoIter = <&'a mut [u8] as IntoIterator>::IntoIter

Source§

impl<'a> IntoIterator for &'a mut serde_bytes::bytes::Bytes

Source§

type Item = &'a mut u8

Source§

type IntoIter = <&'a mut [u8] as IntoIterator>::IntoIter

Source§

impl<'a> IntoIterator for &'a mut serde_json::map::Map<String, Value>

Source§

type Item = (&'a String, &'a mut Value)

Source§

type IntoIter = IterMut<'a>

Source§

impl<'a> IntoIterator for &'a mut toml::map::Map<String, Value>

Source§

type Item = (&'a String, &'a mut Value)

Source§

type IntoIter = IterMut<'a>

Source§

impl<'a> IntoIterator for BerObject<'a>

Source§

impl<'a, 'b, T> IntoIterator for &'b GetAll<'a, T>
where 'b: 'a,

Source§

impl<'a, 'b, T> IntoIterator for &'b OccupiedEntry<'a, T>
where 'b: 'a,

Source§

impl<'a, 'b, T> IntoIterator for &'b mut OccupiedEntry<'a, T>
where 'b: 'a,

Source§

impl<'a, 'i> IntoIterator for &'a DeArray<'i>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'a, A, O> IntoIterator for &'a BitArray<A, O>
where O: BitOrder, A: 'a + BitViewSized,

Available on non-tarpaulin_include only.
Source§

impl<'a, A, O> IntoIterator for &'a mut BitArray<A, O>
where O: BitOrder, A: 'a + BitViewSized,

Available on non-tarpaulin_include only.
Source§

type IntoIter = <&'a mut BitSlice<<A as BitView>::Store, O> as IntoIterator>::IntoIter

Source§

type Item = <&'a mut BitSlice<<A as BitView>::Store, O> as IntoIterator>::Item

Source§

impl<'a, Fut> IntoIterator for &'a FuturesUnordered<Fut>
where Fut: Unpin,

Source§

impl<'a, Fut> IntoIterator for &'a mut FuturesUnordered<Fut>
where Fut: Unpin,

Source§

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

Source§

type Item = Chunk<'a, I>

Source§

type IntoIter = Chunks<'a, I>

1.80.0 · Source§

impl<'a, I, A> IntoIterator for &'a Box<[I], A>
where A: Allocator,

1.80.0 · Source§

impl<'a, I, A> IntoIterator for &'a mut Box<[I], A>
where A: Allocator,

Source§

impl<'a, I, P, H> IntoIterator for &'a DoublePriorityQueue<I, P, H>
where I: Hash + Eq, P: Ord, H: BuildHasher,

Source§

type Item = (&'a I, &'a P)

Source§

type IntoIter = Iter<'a, I, P>

Source§

impl<'a, I, P, H> IntoIterator for &'a PriorityQueue<I, P, H>
where I: Hash + Eq, P: Ord, H: BuildHasher,

Source§

type Item = (&'a I, &'a P)

Source§

type IntoIter = Iter<'a, I, P>

Source§

impl<'a, I, P, H> IntoIterator for &'a mut DoublePriorityQueue<I, P, H>
where I: Hash + Eq, P: Ord, H: BuildHasher,

Source§

impl<'a, I, P, H> IntoIterator for &'a mut PriorityQueue<I, P, H>
where I: Hash + Eq, P: Ord, H: BuildHasher,

Source§

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

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a EnumMap<K, V>
where K: EnumArray<V>,

Source§

type Item = (K, &'a V)

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a indexmap::map::slice::Slice<K, V>

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a phf::map::Map<K, V>

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a OrderedMap<K, V>

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a SlotMap<K, V>
where K: Key,

Source§

type Item = (K, &'a V)

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a DenseSlotMap<K, V>
where K: 'a + Key,

Source§

type Item = (K, &'a V)

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a HopSlotMap<K, V>
where K: Key,

Source§

type Item = (K, &'a V)

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a SecondaryMap<K, V>
where K: Key,

Source§

type Item = (K, &'a V)

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a toml::map::Map<K, V>

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a TiSlice<K, V>

Source§

impl<'a, K, V> IntoIterator for &'a TiVec<K, V>

Source§

impl<'a, K, V> IntoIterator for &'a mut EnumMap<K, V>
where K: EnumArray<V>,

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a mut indexmap::map::slice::Slice<K, V>

Source§

impl<'a, K, V> IntoIterator for &'a mut SlotMap<K, V>
where K: Key,

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a mut DenseSlotMap<K, V>
where K: 'a + Key,

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a mut HopSlotMap<K, V>
where K: Key,

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a mut SecondaryMap<K, V>
where K: Key,

Source§

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

Source§

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

Source§

impl<'a, K, V> IntoIterator for &'a mut toml::map::Map<K, V>

Source§

impl<'a, K, V> IntoIterator for &'a mut TiSlice<K, V>

Source§

impl<'a, K, V> IntoIterator for &'a mut TiVec<K, V>

1.0.0 · Source§

impl<'a, K, V, A> IntoIterator for &'a BTreeMap<K, V, A>
where A: Allocator + Clone,

Source§

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

Source§

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

1.0.0 · Source§

impl<'a, K, V, A> IntoIterator for &'a mut BTreeMap<K, V, A>
where A: Allocator + Clone,

Source§

impl<'a, K, V, S> IntoIterator for &'a IndexMap<K, V, S>

Source§

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

Source§

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

Source§

impl<'a, K, V, S> IntoIterator for &'a LiteMap<K, V, S>
where S: StoreIterable<'a, K, V>,

Source§

impl<'a, K, V, S> IntoIterator for &'a SparseSecondaryMap<K, V, S>
where K: Key, S: BuildHasher,

Source§

type Item = (K, &'a V)

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'a, K, V, S> IntoIterator for &'a mut IndexMap<K, V, S>

Source§

impl<'a, K, V, S> IntoIterator for &'a mut LiteMap<K, V, S>
where S: StoreIterableMut<'a, K, V>,

Source§

impl<'a, K, V, S> IntoIterator for &'a mut SparseSecondaryMap<K, V, S>
where K: Key, S: BuildHasher,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'a, K, V, S, A> IntoIterator for &'a hashbrown::map::HashMap<K, V, S, A>
where A: Allocator,

Source§

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

Source§

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

1.0.0 · Source§

impl<'a, K, V, S, A> IntoIterator for &'a tor_hsservice::internal_prelude::HashMap<K, V, S, A>
where A: Allocator,

Source§

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

Source§

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

Source§

impl<'a, K, V, S, A> IntoIterator for &'a mut hashbrown::map::HashMap<K, V, S, A>
where A: Allocator,

1.0.0 · Source§

impl<'a, K, V, S, A> IntoIterator for &'a mut tor_hsservice::internal_prelude::HashMap<K, V, S, A>
where A: Allocator,

Source§

impl<'a, St> IntoIterator for &'a SelectAll<St>
where St: Stream + Unpin,

Source§

impl<'a, St> IntoIterator for &'a mut SelectAll<St>
where St: Stream + Unpin,

1.4.0 · Source§

impl<'a, T> IntoIterator for &'a Option<T>

1.0.0 · Source§

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

Source§

impl<'a, T> IntoIterator for &'a HeaderMap<T>

Source§

impl<'a, T> IntoIterator for &'a indexmap::set::slice::Slice<T>

Source§

impl<'a, T> IntoIterator for &'a Stack<T>
where T: Stackable,

Source§

type Item = &'a <T as ForeignType>::Ref

Source§

type IntoIter = Iter<'a, T>

Source§

impl<'a, T> IntoIterator for &'a StackRef<T>
where T: Stackable,

Source§

type Item = &'a <T as ForeignType>::Ref

Source§

type IntoIter = Iter<'a, T>

Source§

impl<'a, T> IntoIterator for &'a OrderedSet<T>

Source§

impl<'a, T> IntoIterator for &'a Set<T>

Source§

impl<'a, T> IntoIterator for &'a Slab<T>

Source§

impl<'a, T> IntoIterator for &'a std::sync::mpmc::Receiver<T>

Source§

type Item = T

Source§

type IntoIter = Iter<'a, T>

1.1.0 · Source§

impl<'a, T> IntoIterator for &'a std::sync::mpsc::Receiver<T>

Source§

type Item = T

Source§

type IntoIter = Iter<'a, T>

1.4.0 · Source§

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

1.0.0 · Source§

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

Source§

impl<'a, T> IntoIterator for &'a mut HeaderMap<T>

Source§

impl<'a, T> IntoIterator for &'a mut Stack<T>
where T: Stackable,

Source§

type Item = &'a mut <T as ForeignType>::Ref

Source§

type IntoIter = IterMut<'a, T>

Source§

impl<'a, T> IntoIterator for &'a mut StackRef<T>
where T: Stackable,

Source§

type Item = &'a mut <T as ForeignType>::Ref

Source§

type IntoIter = IterMut<'a, T>

Source§

impl<'a, T> IntoIterator for &'a mut Slab<T>

Source§

impl<'a, T> IntoIterator for GetAll<'a, T>

Source§

impl<'a, T> IntoIterator for OccupiedEntry<'a, T>

Source§

impl<'a, T, A> IntoIterator for &'a HashTable<T, A>
where A: Allocator,

1.0.0 · Source§

impl<'a, T, A> IntoIterator for &'a BinaryHeap<T, A>
where A: Allocator,

1.0.0 · Source§

impl<'a, T, A> IntoIterator for &'a VecDeque<T, A>
where A: Allocator,

1.0.0 · Source§

impl<'a, T, A> IntoIterator for &'a BTreeSet<T, A>
where A: Allocator + Clone,

1.0.0 · Source§

impl<'a, T, A> IntoIterator for &'a LinkedList<T, A>
where A: Allocator,

1.0.0 · Source§

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

Source§

impl<'a, T, A> IntoIterator for &'a mut HashTable<T, A>
where A: Allocator,

1.0.0 · Source§

impl<'a, T, A> IntoIterator for &'a mut VecDeque<T, A>
where A: Allocator,

1.0.0 · Source§

impl<'a, T, A> IntoIterator for &'a mut LinkedList<T, A>
where A: Allocator,

1.0.0 · Source§

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

1.4.0 · Source§

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

1.4.0 · Source§

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

Source§

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

Source§

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

Source§

impl<'a, T, O> IntoIterator for &'a BitSlice<T, O>
where T: 'a + BitStore, O: BitOrder,

Available on non-tarpaulin_include only.
Source§

type IntoIter = Iter<'a, T, O>

Source§

type Item = <<&'a BitSlice<T, O> as IntoIterator>::IntoIter as Iterator>::Item

Source§

impl<'a, T, O> IntoIterator for &'a BitVec<T, O>
where O: BitOrder, T: 'a + BitStore,

Available on non-tarpaulin_include only.
Source§

impl<'a, T, O> IntoIterator for &'a mut BitSlice<T, O>
where T: 'a + BitStore, O: BitOrder,

Available on non-tarpaulin_include only.
Source§

type IntoIter = IterMut<'a, T, O>

Source§

type Item = <<&'a mut BitSlice<T, O> as IntoIterator>::IntoIter as Iterator>::Item

Source§

impl<'a, T, O> IntoIterator for &'a mut BitVec<T, O>
where O: BitOrder, T: 'a + BitStore,

Available on non-tarpaulin_include only.
Source§

type IntoIter = <&'a mut BitSlice<T, O> as IntoIterator>::IntoIter

Source§

type Item = <&'a mut BitSlice<T, O> as IntoIterator>::Item

Source§

impl<'a, T, S> IntoIterator for &'a IndexSet<T, S>

Source§

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

Source§

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

Source§

impl<'a, T, S, A> IntoIterator for &'a hashbrown::set::HashSet<T, S, A>
where A: Allocator,

1.0.0 · Source§

impl<'a, T, S, A> IntoIterator for &'a tor_hsservice::internal_prelude::HashSet<T, S, A>
where A: Allocator,

Source§

impl<'a, T, U> IntoIterator for &'a hybrid_array::Array<T, U>
where U: ArraySize,

Source§

impl<'a, T, U> IntoIterator for &'a mut hybrid_array::Array<T, U>
where U: ArraySize,

Source§

impl<'a, T, const CAP: usize> IntoIterator for &'a ArrayVec<T, CAP>
where T: 'a,

Iterate the ArrayVec with references to each element.

use arrayvec::ArrayVec;

let array = ArrayVec::from([1, 2, 3]);

for elt in &array {
    // ...
}
Source§

impl<'a, T, const CAP: usize> IntoIterator for &'a mut ArrayVec<T, CAP>
where T: 'a,

Iterate the ArrayVec with mutable references to each element.

use arrayvec::ArrayVec;

let mut array = ArrayVec::from([1, 2, 3]);

for elt in &mut array {
    // ...
}
1.0.0 · Source§

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

1.0.0 · Source§

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

Source§

impl<'a, const N: usize> IntoIterator for &'a ByteArray<N>

Source§

type Item = &'a u8

Source§

type IntoIter = <&'a [u8; N] as IntoIterator>::IntoIter

Source§

impl<'a, const N: usize> IntoIterator for &'a mut ByteArray<N>

Source§

type Item = &'a mut u8

Source§

type IntoIter = <&'a mut [u8; N] as IntoIterator>::IntoIter

Source§

impl<'i> IntoIterator for DeArray<'i>

Source§

impl<'inp, 'out, T> IntoIterator for InOutBuf<'inp, 'out, T>

Source§

type Item = InOut<'inp, 'out, T>

Source§

type IntoIter = InOutBufIter<'inp, 'out, T>

Source§

impl<'s> IntoIterator for &'s toml_edit::array::Array

Source§

type Item = &'s Value

Source§

type IntoIter = Box<dyn Iterator<Item = &'s Value> + 's>

Source§

impl<'s> IntoIterator for &'s ArrayOfTables

Source§

type Item = &'s Table

Source§

type IntoIter = Box<dyn Iterator<Item = &'s Table> + 's>

Source§

impl<'s> IntoIterator for &'s InlineTable

Source§

type Item = (&'s str, &'s Value)

Source§

type IntoIter = Box<dyn Iterator<Item = (&'s str, &'s Value)> + 's>

Source§

impl<'s> IntoIterator for &'s Table

Source§

type Item = (&'s str, &'s Item)

Source§

type IntoIter = Box<dyn Iterator<Item = (&'s str, &'s Item)> + 's>

Source§

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

1.96.0 · Source§

impl<A> IntoIterator for Range<A>
where A: Step,

1.96.0 · Source§

impl<A> IntoIterator for RangeFrom<A>
where A: Step,

1.95.0 · Source§

impl<A> IntoIterator for RangeInclusive<A>
where A: Step,

Source§

impl<A, O> IntoIterator for BitArray<A, O>
where A: BitViewSized, O: BitOrder,

Source§

impl<E> IntoIterator for RetryError<E>

§

impl<F> IntoIterator for FlagSet<F>
where F: Flags,

§

type Item = F

§

type IntoIter = Iter<F>

Source§

impl<Fut> IntoIterator for FuturesUnordered<Fut>
where Fut: Unpin,

Source§

type Item = Fut

Source§

type IntoIter = IntoIter<Fut>

Source§

impl<I> IntoIterator for &RcIter<I>
where I: Iterator,

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

1.0.0 (const: unstable) · Source§

impl<I> IntoIterator for I
where I: Iterator,

1.80.0 · Source§

impl<I, A> IntoIterator for Box<[I], A>
where A: Allocator,

Source§

impl<I, P, H> IntoIterator for DoublePriorityQueue<I, P, H>
where I: Hash + Eq, P: Ord, H: BuildHasher,

Source§

impl<I, P, H> IntoIterator for PriorityQueue<I, P, H>
where I: Hash + Eq, P: Ord, H: BuildHasher,

Source§

impl<K, V> IntoIterator for EnumMap<K, V>
where K: EnumArray<V>,

Source§

impl<K, V> IntoIterator for SlotMap<K, V>
where K: Key,

Source§

impl<K, V> IntoIterator for DenseSlotMap<K, V>
where K: Key,

Source§

impl<K, V> IntoIterator for HopSlotMap<K, V>
where K: Key,

Source§

impl<K, V> IntoIterator for SecondaryMap<K, V>
where K: Key,

Source§

impl<K, V> IntoIterator for toml::map::Map<K, V>

Source§

impl<K, V> IntoIterator for TiVec<K, V>

Source§

impl<K, V> IntoIterator for Box<Slice<K, V>>

Source§

impl<K, V> IntoIterator for Box<TiSlice<K, V>>

1.0.0 · Source§

impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
where A: Allocator + Clone,

Source§

impl<K, V, S> IntoIterator for IndexMap<K, V, S>

Source§

impl<K, V, S> IntoIterator for LiteMap<K, V, S>
where S: StoreIntoIterator<K, V>,

Source§

impl<K, V, S> IntoIterator for SparseSecondaryMap<K, V, S>
where K: Key, S: BuildHasher,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

type IntoIter = IntoIter<K, V>

Source§

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

Source§

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

Source§

type IntoIter = IntoIter<K, V>

Source§

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

Source§

impl<K, V, S, A> IntoIterator for hashbrown::map::HashMap<K, V, S, A>
where A: Allocator,

1.0.0 · Source§

impl<K, V, S, A> IntoIterator for tor_hsservice::internal_prelude::HashMap<K, V, S, A>
where A: Allocator,

Source§

impl<St> IntoIterator for SelectAll<St>
where St: Stream + Unpin,

1.0.0 (const: unstable) · Source§

impl<T> IntoIterator for Option<T>

Source§

impl<T> IntoIterator for ArrayQueue<T>

Source§

impl<T> IntoIterator for SegQueue<T>

Source§

impl<T> IntoIterator for EnumSet<T>
where T: EnumSetType,

Source§

impl<T> IntoIterator for HeaderMap<T>

Source§

impl<T> IntoIterator for Stack<T>
where T: Stackable,

Source§

impl<T> IntoIterator for Slab<T>

Source§

impl<T> IntoIterator for Box<Slice<T>>

Source§

impl<T> IntoIterator for std::sync::mpmc::Receiver<T>

1.1.0 · Source§

impl<T> IntoIterator for std::sync::mpsc::Receiver<T>

Source§

impl<T, A> IntoIterator for HashTable<T, A>
where A: Allocator,

1.0.0 · Source§

impl<T, A> IntoIterator for BinaryHeap<T, A>
where A: Allocator,

1.0.0 · Source§

impl<T, A> IntoIterator for VecDeque<T, A>
where A: Allocator,

1.0.0 · Source§

impl<T, A> IntoIterator for BTreeSet<T, A>
where A: Allocator + Clone,

1.0.0 · Source§

impl<T, A> IntoIterator for LinkedList<T, A>
where A: Allocator,

1.0.0 · Source§

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

1.0.0 · Source§

impl<T, E> IntoIterator for Result<T, E>

Source§

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

Source§

impl<T, O> IntoIterator for BitBox<T, O>
where T: BitStore, O: BitOrder,

Source§

impl<T, O> IntoIterator for BitVec<T, O>
where T: BitStore, O: BitOrder,

§Bit-Vector Iteration

Bit-vectors have the advantage that iteration consumes the whole structure, so they can simply freeze the allocation into a bit-box, then use its iteration and destructor.

Source§

impl<T, S> IntoIterator for IndexSet<T, S>

Source§

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

Source§

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

Source§

impl<T, S, A> IntoIterator for hashbrown::set::HashSet<T, S, A>
where A: Allocator,

1.0.0 · Source§

impl<T, S, A> IntoIterator for tor_hsservice::internal_prelude::HashSet<T, S, A>
where A: Allocator,

Source§

impl<T, U> IntoIterator for Chain<T, U>
where T: Buf, U: Buf,

Source§

impl<T, U> IntoIterator for hybrid_array::Array<T, U>
where U: ArraySize,

Source§

impl<T, const CAP: usize> IntoIterator for ArrayVec<T, CAP>

Iterate the ArrayVec with each element by value.

The vector is consumed by this operation.

use arrayvec::ArrayVec;

for elt in ArrayVec::from([1, 2, 3]) {
    // ...
}
Source§

type Item = T

Source§

type IntoIter = IntoIter<T, CAP>

Source§

impl<T, const LEN: usize, const REVERSE_STR: bool> IntoIterator for amplify::collection::array::Array<T, LEN, REVERSE_STR>

Source§

type Item = T

Source§

type IntoIter = IntoIter<T, LEN>

1.53.0 · Source§

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

Source§

impl<T, const N: usize> IntoIterator for NichedOption<T, N>

Source§

impl<const N: usize> IntoIterator for ByteArray<N>