pub trait Collection: Disposable {
type Item;
type Iter<'a>: Iterator<Item = &'a Self::Item>
where Self: 'a;
// Required methods
fn iter(&self) -> Self::Iter<'_>;
fn size(&self) -> usize;
fn clear(&mut self);
fn retain<F>(&mut self, f: F) -> usize
where F: FnMut(&Self::Item) -> bool;
// Provided methods
fn count<F>(&self, filter: F) -> usize
where F: FnMut(&Self::Item) -> bool { ... }
fn collect_into<C>(&self, out: &mut C)
where C: Extend<Self::Item>,
Self::Item: Clone { ... }
fn collect(&self) -> Vec<Self::Item>
where Self::Item: Clone { ... }
fn is_empty(&self) -> bool { ... }
}Required Associated Types§
Required Methods§
fn iter(&self) -> Self::Iter<'_>
fn size(&self) -> usize
fn clear(&mut self)
fn retain<F>(&mut self, f: F) -> usize
Provided Methods§
fn count<F>(&self, filter: F) -> usize
fn collect_into<C>(&self, out: &mut C)
fn collect(&self) -> Vec<Self::Item>
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.