pub trait Parameterized<P: Parameter>: Sized {
type To<T: Parameter>: Parameterized<T, To<P> = Self> + Parameterized<T, To<Placeholder> = Self::To<Placeholder>>;
type ParamIterator<'t, T: 't + Parameter>: 't + Iterator<Item = &'t T>
where Self: 't;
type ParamIteratorMut<'t, T: 't + Parameter>: 't + Iterator<Item = &'t mut T>
where Self: 't;
type ParamIntoIterator<T: Parameter>: Iterator<Item = T>;
// Required methods
fn param_count(&self) -> usize;
fn param_structure(&self) -> Self::To<Placeholder>;
fn params(&self) -> Self::ParamIterator<'_, P>;
fn params_mut(&mut self) -> Self::ParamIteratorMut<'_, P>;
fn into_params(self) -> Self::ParamIntoIterator<P>;
fn from_params_with_remainder<I: Iterator<Item = P>>(
structure: Self::To<Placeholder>,
params: &mut I,
) -> Result<Self, Error>;
// Provided methods
fn from_params<I: IntoIterator<Item = P>>(
structure: Self::To<Placeholder>,
params: I,
) -> Result<Self, Error> { ... }
fn map_params<T: Parameter, F: FnMut(P) -> T>(
self,
map_fn: F,
) -> Result<Self::To<T>, Error> { ... }
}Required Associated Types§
type To<T: Parameter>: Parameterized<T, To<P> = Self> + Parameterized<T, To<Placeholder> = Self::To<Placeholder>>
type ParamIterator<'t, T: 't + Parameter>: 't + Iterator<Item = &'t T> where Self: 't
type ParamIteratorMut<'t, T: 't + Parameter>: 't + Iterator<Item = &'t mut T> where Self: 't
type ParamIntoIterator<T: Parameter>: Iterator<Item = T>
Required Methods§
Sourcefn param_count(&self) -> usize
fn param_count(&self) -> usize
Returns the number of parameters in this Parameterized instance.
fn param_structure(&self) -> Self::To<Placeholder>
fn params(&self) -> Self::ParamIterator<'_, P>
fn params_mut(&mut self) -> Self::ParamIteratorMut<'_, P>
fn into_params(self) -> Self::ParamIntoIterator<P>
fn from_params_with_remainder<I: Iterator<Item = P>>( structure: Self::To<Placeholder>, params: &mut I, ) -> Result<Self, Error>
Provided Methods§
fn from_params<I: IntoIterator<Item = P>>( structure: Self::To<Placeholder>, params: I, ) -> Result<Self, Error>
fn map_params<T: Parameter, F: FnMut(P) -> T>( self, map_fn: F, ) -> Result<Self::To<T>, Error>
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.