pub struct IterElement<R, T>where
R: RangeBounds<T>,
T: Ord,{
pub value: R,
/* private fields */
}Expand description
An element obtained from Iter.
This element allows access to its value, as well as providing an Iterator over all values
nested within value through the sublist() method.
§Example
use nested_containment_list::NestedContainmentList;
use std::iter::FromIterator;
let nclist = NestedContainmentList::from_iter(vec![1..2]);
let mut iter = nclist.into_iter();
assert_eq!(iter.next().unwrap().value, 1..2);Fields§
§value: RImplementations§
Source§impl<R, T> IterElement<R, T>where
R: RangeBounds<T>,
T: Ord,
impl<R, T> IterElement<R, T>where
R: RangeBounds<T>,
T: Ord,
Sourcepub fn sublist(self) -> Iter<R, T> ⓘ
pub fn sublist(self) -> Iter<R, T> ⓘ
Returns an Iter Iterator over this element’s sublist.
Note that this method consumes the IterElement.
§Example
use nested_containment_list::NestedContainmentList;
use std::iter::FromIterator;
let nclist = NestedContainmentList::from_iter(vec![1..4, 2..3]);
let mut iter = nclist.into_iter();
let mut sublist = iter.next().unwrap().sublist();
assert_eq!(sublist.next().unwrap().value, 2..3);Trait Implementations§
Source§impl<R, T> Debug for IterElement<R, T>
impl<R, T> Debug for IterElement<R, T>
Source§impl<R, T> IntoIterator for IterElement<R, T>where
R: RangeBounds<T>,
T: Ord,
impl<R, T> IntoIterator for IterElement<R, T>where
R: RangeBounds<T>,
T: Ord,
Source§fn into_iter(self) -> Self::IntoIter
fn into_iter(self) -> Self::IntoIter
Returns an Iterator over this element’s value, followed by its sublist().
This is useful if you want to iterate over all values including the enclosing value.
§Example
use nested_containment_list::NestedContainmentList;
use std::iter::FromIterator;
let nclist = NestedContainmentList::from_iter(vec![1..4, 2..3]);
let mut iter = nclist.into_iter();
let first_element = iter.next().unwrap();
let mut first_element_iter = first_element.into_iter();
assert_eq!(first_element_iter.next().unwrap().value, 1..4);
assert_eq!(first_element_iter.next().unwrap().value, 2..3);Source§type Item = IterElement<R, T>
type Item = IterElement<R, T>
The type of the elements being iterated over.
Source§type IntoIter = Chain<Once<<IterElement<R, T> as IntoIterator>::Item>, Iter<R, T>>
type IntoIter = Chain<Once<<IterElement<R, T> as IntoIterator>::Item>, Iter<R, T>>
Which kind of iterator are we turning this into?
Auto Trait Implementations§
impl<R, T> Freeze for IterElement<R, T>where
R: Freeze,
impl<R, T> RefUnwindSafe for IterElement<R, T>where
R: RefUnwindSafe,
T: RefUnwindSafe,
impl<R, T> Send for IterElement<R, T>
impl<R, T> Sync for IterElement<R, T>
impl<R, T> Unpin for IterElement<R, T>
impl<R, T> UnwindSafe for IterElement<R, T>where
R: UnwindSafe,
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more