Length

Trait Length 

Source
pub trait Length: Length<_Value = Self::Value> {
Show 17 associated items type Value: LengthValue<Length<Self::Elem> = Self, _Length<Self::Elem> = Self, Metadata = Self::Metadata, _Metadata = Self::Metadata>; type Mapped<U>: Length<Elem = U, Value = Self::Value, _Value = Self::Value, Metadata = Self::Metadata> + ?Sized = <Self::Value as LengthValue>::Length<U>; type Min<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Min<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Max<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Max<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Add<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Add<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Sub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Sub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Mul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Mul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Div<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Div<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Rem<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Rem<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type SaturatingAdd<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingAdd<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type SaturatingSub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingSub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type SaturatingMul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingMul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type SaturatingDiv<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingDiv<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type DivCeil<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivCeil<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type DivFloor<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivFloor<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Windowed<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Windowed<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>; type Interspersed: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Interspersed as LengthValue>::Length<Self::Elem>;
}

Required Associated Types§

Source

type Value: LengthValue<Length<Self::Elem> = Self, _Length<Self::Elem> = Self, Metadata = Self::Metadata, _Metadata = Self::Metadata>

Provided Associated Types§

Source

type Mapped<U>: Length<Elem = U, Value = Self::Value, _Value = Self::Value, Metadata = Self::Metadata> + ?Sized = <Self::Value as LengthValue>::Length<U>

Source

type Min<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Min<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Max<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Max<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Add<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Add<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Sub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Sub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Mul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Mul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Div<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Div<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Rem<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Rem<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type SaturatingAdd<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingAdd<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type SaturatingSub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingSub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type SaturatingMul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingMul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type SaturatingDiv<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingDiv<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type DivCeil<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivCeil<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type DivFloor<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivFloor<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Windowed<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Windowed<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>

Source

type Interspersed: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Interspersed as LengthValue>::Length<Self::Elem>

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.

Implementors§

Source§

impl<T> Length for T
where T: Length + ?Sized,

Source§

type Value = <T as Length>::_Value