IChildren

Trait IChildren 

Source
pub trait IChildren<T: ?Sized> {
    type Node: HasChunk + AsNode<T> + AsNodeMut<T>;
    type Entry<'a, 'b>: IEntry<'a, 'b, T>
       where Self: 'a,
             T: 'b,
             'a: 'b;
    type Iter<'a>: Iterator<Item = &'a Self::Node>
       where Self: 'a,
             Self::Node: 'a;
    type IterMut<'a>: Iterator<Item = &'a mut Self::Node>
       where Self: 'a,
             Self::Node: 'a;
    type Intersection<'a>: Iterator<Item = &'a Self::Node>
       where Self: 'a,
             Self::Node: 'a;
    type IntersectionMut<'a>: Iterator<Item = &'a mut Self::Node>
       where Self: 'a,
             Self::Node: 'a;
    type Inclusion<'a>: Iterator<Item = &'a Self::Node>
       where Self: 'a,
             Self::Node: 'a;
    type InclusionMut<'a>: Iterator<Item = &'a mut Self::Node>
       where Self: 'a,
             Self::Node: 'a;

Show 13 methods // Required methods fn len(&self) -> usize; fn child_at<'a>(&'a self, chunk: &keyexpr) -> Option<&'a Self::Node>; fn child_at_mut<'a>( &'a mut self, chunk: &keyexpr, ) -> Option<&'a mut Self::Node>; fn remove(&mut self, chunk: &keyexpr) -> Option<Self::Node>; fn entry<'a, 'b>(&'a mut self, chunk: &'b keyexpr) -> Self::Entry<'a, 'b> where Self: 'a + 'b, T: 'b; fn children<'a>(&'a self) -> Self::Iter<'a> where Self: 'a; fn children_mut<'a>(&'a mut self) -> Self::IterMut<'a> where Self: 'a; fn intersection<'a>(&'a self, key: &'a keyexpr) -> Self::Intersection<'a>; fn intersection_mut<'a>( &'a mut self, key: &'a keyexpr, ) -> Self::IntersectionMut<'a>; fn inclusion<'a>(&'a self, key: &'a keyexpr) -> Self::Inclusion<'a>; fn inclusion_mut<'a>( &'a mut self, key: &'a keyexpr, ) -> Self::InclusionMut<'a>; fn filter_out<F: FnMut(&mut T) -> bool>(&mut self, predicate: &mut F); // Provided method fn is_empty(&self) -> bool { ... }
}

Required Associated Types§

Source

type Node: HasChunk + AsNode<T> + AsNodeMut<T>

Source

type Entry<'a, 'b>: IEntry<'a, 'b, T> where Self: 'a, T: 'b, 'a: 'b

Source

type Iter<'a>: Iterator<Item = &'a Self::Node> where Self: 'a, Self::Node: 'a

Source

type IterMut<'a>: Iterator<Item = &'a mut Self::Node> where Self: 'a, Self::Node: 'a

Source

type Intersection<'a>: Iterator<Item = &'a Self::Node> where Self: 'a, Self::Node: 'a

Source

type IntersectionMut<'a>: Iterator<Item = &'a mut Self::Node> where Self: 'a, Self::Node: 'a

Source

type Inclusion<'a>: Iterator<Item = &'a Self::Node> where Self: 'a, Self::Node: 'a

Source

type InclusionMut<'a>: Iterator<Item = &'a mut Self::Node> where Self: 'a, Self::Node: 'a

Required Methods§

Source

fn len(&self) -> usize

Source

fn child_at<'a>(&'a self, chunk: &keyexpr) -> Option<&'a Self::Node>

Source

fn child_at_mut<'a>(&'a mut self, chunk: &keyexpr) -> Option<&'a mut Self::Node>

Source

fn remove(&mut self, chunk: &keyexpr) -> Option<Self::Node>

Source

fn entry<'a, 'b>(&'a mut self, chunk: &'b keyexpr) -> Self::Entry<'a, 'b>
where Self: 'a + 'b, T: 'b,

Source

fn children<'a>(&'a self) -> Self::Iter<'a>
where Self: 'a,

Source

fn children_mut<'a>(&'a mut self) -> Self::IterMut<'a>
where Self: 'a,

Source

fn intersection<'a>(&'a self, key: &'a keyexpr) -> Self::Intersection<'a>

Source

fn intersection_mut<'a>( &'a mut self, key: &'a keyexpr, ) -> Self::IntersectionMut<'a>

Source

fn inclusion<'a>(&'a self, key: &'a keyexpr) -> Self::Inclusion<'a>

Source

fn inclusion_mut<'a>(&'a mut self, key: &'a keyexpr) -> Self::InclusionMut<'a>

Source

fn filter_out<F: FnMut(&mut T) -> bool>(&mut self, predicate: &mut F)

Provided Methods§

Source

fn is_empty(&self) -> bool

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T: HasChunk + AsNode<T> + AsNodeMut<T> + 'static> IChildren<T> for Vec<T>

Source§

type Node = T

Source§

type Entry<'a, 'b> = Entry<'a, 'b, T> where Self: 'a, T: 'b, 'a: 'b

Source§

type Iter<'a> = Iter<'a, T> where Self: 'a

Source§

type IterMut<'a> = IterMut<'a, T> where Self: 'a

Source§

type Intersection<'a> = FilterMap<Iter<'a, T>, Intersection<'a>> where Self: 'a, Self::Node: 'a

Source§

type IntersectionMut<'a> = FilterMap<IterMut<'a, T>, Intersection<'a>> where Self: 'a, Self::Node: 'a

Source§

type Inclusion<'a> = FilterMap<Iter<'a, T>, Inclusion<'a>> where Self: 'a, Self::Node: 'a

Source§

type InclusionMut<'a> = FilterMap<IterMut<'a, T>, Inclusion<'a>> where Self: 'a, Self::Node: 'a

Source§

fn child_at(&self, chunk: &keyexpr) -> Option<&T>

Source§

fn child_at_mut(&mut self, chunk: &keyexpr) -> Option<&mut T>

Source§

fn remove(&mut self, chunk: &keyexpr) -> Option<Self::Node>

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

fn entry<'a, 'b>(&'a mut self, chunk: &'b keyexpr) -> Self::Entry<'a, 'b>
where Self: 'a, T: 'b, 'a: 'b,

Source§

fn children<'a>(&'a self) -> Self::Iter<'a>
where Self: 'a,

Source§

fn children_mut<'a>(&'a mut self) -> Self::IterMut<'a>
where Self: 'a,

Source§

fn filter_out<F: FnMut(&mut T) -> bool>(&mut self, predicate: &mut F)

Source§

fn intersection<'a>(&'a self, key: &'a keyexpr) -> Self::Intersection<'a>

Source§

fn intersection_mut<'a>( &'a mut self, key: &'a keyexpr, ) -> Self::IntersectionMut<'a>

Source§

fn inclusion<'a>(&'a self, key: &'a keyexpr) -> Self::Inclusion<'a>

Source§

fn inclusion_mut<'a>(&'a mut self, key: &'a keyexpr) -> Self::InclusionMut<'a>

Source§

impl<T: HasChunk + AsNode<T> + AsNodeMut<T> + 'static, S: BuildHasher> IChildren<T> for HashMap<OwnedKeyExpr, T, S>

Source§

type Node = T

Source§

type Entry<'a, 'b> = Entry<'a, OwnedKeyExpr, T> where Self: 'a, T: 'b, 'a: 'b

Source§

type Iter<'a> = Values<'a, OwnedKeyExpr, T> where Self: 'a

Source§

type IterMut<'a> = ValuesMut<'a, OwnedKeyExpr, T> where Self: 'a

Source§

type Intersection<'a> = FilterMap<Iter<'a, OwnedKeyExpr, T>, Intersection<'a>> where Self: 'a, Self::Node: 'a

Source§

type IntersectionMut<'a> = FilterMap<IterMut<'a, OwnedKeyExpr, T>, Intersection<'a>> where Self: 'a, Self::Node: 'a

Source§

type Inclusion<'a> = FilterMap<Iter<'a, OwnedKeyExpr, T>, Inclusion<'a>> where Self: 'a, Self::Node: 'a

Source§

type InclusionMut<'a> = FilterMap<IterMut<'a, OwnedKeyExpr, T>, Inclusion<'a>> where Self: 'a, Self::Node: 'a

Source§

fn child_at(&self, chunk: &keyexpr) -> Option<&T>

Source§

fn child_at_mut(&mut self, chunk: &keyexpr) -> Option<&mut T>

Source§

fn remove(&mut self, chunk: &keyexpr) -> Option<Self::Node>

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

fn entry<'a, 'b>(&'a mut self, chunk: &'b keyexpr) -> Self::Entry<'a, 'b>
where Self: 'a, T: 'b, 'a: 'b,

Source§

fn children<'a>(&'a self) -> Self::Iter<'a>
where Self: 'a,

Source§

fn children_mut<'a>(&'a mut self) -> Self::IterMut<'a>
where Self: 'a,

Source§

fn filter_out<F: FnMut(&mut T) -> bool>(&mut self, predicate: &mut F)

Source§

fn intersection<'a>(&'a self, key: &'a keyexpr) -> Self::Intersection<'a>

Source§

fn intersection_mut<'a>( &'a mut self, key: &'a keyexpr, ) -> Self::IntersectionMut<'a>

Source§

fn inclusion<'a>(&'a self, key: &'a keyexpr) -> Self::Inclusion<'a>

Source§

fn inclusion_mut<'a>(&'a mut self, key: &'a keyexpr) -> Self::InclusionMut<'a>

Source§

impl<T: HasChunk + AsNode<T> + AsNodeMut<T>> IChildren<T> for KeyedSet<T, ChunkExtractor>

Source§

type Node = T

Source§

type Entry<'a, 'b> = Entry<'a, T, ChunkExtractor, &'b keyexpr> where Self: 'a, T: 'b, 'a: 'b

Source§

type Iter<'a> = Iter<'a, T> where Self: 'a

Source§

type IterMut<'a> = IterMut<'a, T> where Self: 'a

Source§

type Intersection<'a> = FilterMap<Iter<'a, T>, Intersection<'a>> where Self: 'a, Self::Node: 'a

Source§

type IntersectionMut<'a> = FilterMap<IterMut<'a, T>, Intersection<'a>> where Self: 'a, Self::Node: 'a

Source§

type Inclusion<'a> = FilterMap<Iter<'a, T>, Inclusion<'a>> where Self: 'a, Self::Node: 'a

Source§

type InclusionMut<'a> = FilterMap<IterMut<'a, T>, Inclusion<'a>> where Self: 'a, Self::Node: 'a

Source§

fn child_at(&self, chunk: &keyexpr) -> Option<&T>

Source§

fn child_at_mut(&mut self, chunk: &keyexpr) -> Option<&mut T>

Source§

fn remove(&mut self, chunk: &keyexpr) -> Option<T>

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

fn entry<'a, 'b>(&'a mut self, chunk: &'b keyexpr) -> Self::Entry<'a, 'b>
where Self: 'a, T: 'b, 'a: 'b,

Source§

fn children<'a>(&'a self) -> Self::Iter<'a>
where Self: 'a,

Source§

fn children_mut<'a>(&'a mut self) -> Self::IterMut<'a>
where Self: 'a,

Source§

fn filter_out<F: FnMut(&mut T) -> bool>(&mut self, predicate: &mut F)

Source§

fn intersection<'a>(&'a self, key: &'a keyexpr) -> Self::Intersection<'a>

Source§

fn intersection_mut<'a>( &'a mut self, key: &'a keyexpr, ) -> Self::IntersectionMut<'a>

Source§

fn inclusion<'a>(&'a self, key: &'a keyexpr) -> Self::Inclusion<'a>

Source§

fn inclusion_mut<'a>(&'a mut self, key: &'a keyexpr) -> Self::InclusionMut<'a>

Implementors§