pub trait BatchContainer: 'static {
type Owned: Clone + Ord;
type ReadItem<'a>: Copy + Ord;
Show 14 methods
// Required methods
fn into_owned<'a>(item: Self::ReadItem<'a>) -> Self::Owned;
fn push_ref(&mut self, item: Self::ReadItem<'_>);
fn push_own(&mut self, item: &Self::Owned);
fn clear(&mut self);
fn with_capacity(size: usize) -> Self;
fn merge_capacity(cont1: &Self, cont2: &Self) -> Self;
fn reborrow<'b, 'a: 'b>(item: Self::ReadItem<'a>) -> Self::ReadItem<'b>;
fn index(&self, index: usize) -> Self::ReadItem<'_>;
fn len(&self) -> usize;
// Provided methods
fn clone_onto<'a>(item: Self::ReadItem<'a>, other: &mut Self::Owned) { ... }
fn get(&self, index: usize) -> Option<Self::ReadItem<'_>> { ... }
fn last(&self) -> Option<Self::ReadItem<'_>> { ... }
fn is_empty(&self) -> bool { ... }
fn advance<F: for<'a> Fn(Self::ReadItem<'a>) -> bool>(
&self,
start: usize,
end: usize,
function: F,
) -> usize { ... }
}
Expand description
A general-purpose container resembling Vec<T>
.
Required Associated Types§
Required Methods§
Sourcefn into_owned<'a>(item: Self::ReadItem<'a>) -> Self::Owned
fn into_owned<'a>(item: Self::ReadItem<'a>) -> Self::Owned
Conversion from an instance of this type to the owned type.
Sourcefn with_capacity(size: usize) -> Self
fn with_capacity(size: usize) -> Self
Creates a new container with sufficient capacity.
Sourcefn merge_capacity(cont1: &Self, cont2: &Self) -> Self
fn merge_capacity(cont1: &Self, cont2: &Self) -> Self
Creates a new container with sufficient capacity.
Provided Methods§
Sourcefn clone_onto<'a>(item: Self::ReadItem<'a>, other: &mut Self::Owned)
fn clone_onto<'a>(item: Self::ReadItem<'a>, other: &mut Self::Owned)
Clones self
onto an existing instance of the owned type.
Sourcefn get(&self, index: usize) -> Option<Self::ReadItem<'_>>
fn get(&self, index: usize) -> Option<Self::ReadItem<'_>>
Reference to the element at this position, if it exists.
Sourcefn last(&self) -> Option<Self::ReadItem<'_>>
fn last(&self) -> Option<Self::ReadItem<'_>>
Returns the last item if the container is non-empty.
Sourcefn advance<F: for<'a> Fn(Self::ReadItem<'a>) -> bool>(
&self,
start: usize,
end: usize,
function: F,
) -> usize
fn advance<F: for<'a> Fn(Self::ReadItem<'a>) -> bool>( &self, start: usize, end: usize, function: F, ) -> usize
Reports the number of elements satisfying the predicate.
This methods relies strongly on the assumption that the predicate
stays false once it becomes false, a joint property of the predicate
and the layout of Self. This allows
advance` to use exponential search to
count the number of elements in time logarithmic in the result.
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.