makepad_vector/internal_iter/
into_internal_iterator.rs

1use crate::internal_iter::InternalIterator;
2
3/// A trait for conversion into an internal iterator.
4///
5/// This trait is commonly implemented for collections. It is useful when you want to write a
6/// function that can take either a collection or an internal iterator as input.
7pub trait IntoInternalIterator {
8    type Item;
9    type IntoInternalIter: InternalIterator<Item = Self::Item>;
10
11    /// Converts `self` into an internal iterator.
12    fn into_internal_iter(self) -> Self::IntoInternalIter;
13}
14
15impl<I> IntoInternalIterator for I
16where
17    I: InternalIterator,
18{
19    type Item = I::Item;
20    type IntoInternalIter = I;
21
22    fn into_internal_iter(self) -> Self::IntoInternalIter {
23        self
24    }
25}