pub trait Index:
Seal
+ Debug
+ Not<Output = Self>
+ Add<Output = Self>
+ Sub<Output = Self>
+ AddAssign
+ SubAssign
+ Pod
+ Eq
+ Ord
+ Send
+ Sync {
type FixedWidth: Index;
type Signed: SignedIndex;
// Provided methods
fn truncate(value: usize) -> Self { ... }
fn zx(self) -> usize { ... }
fn canonicalize(slice: &[Self]) -> &[Self::FixedWidth] { ... }
fn canonicalize_mut(slice: &mut [Self]) -> &mut [Self::FixedWidth] { ... }
fn from_signed(value: Self::Signed) -> Self { ... }
fn to_signed(self) -> Self::Signed { ... }
fn sum_nonnegative(slice: &[Self]) -> Option<Self> { ... }
}
Expand description
Trait for unsigned integers that can be indexed with.
Always smaller than or equal to usize
.
Required Associated Types§
Sourcetype FixedWidth: Index
type FixedWidth: Index
Equally-sized index type with a fixed size (no usize
).
Sourcetype Signed: SignedIndex
type Signed: SignedIndex
Equally-sized signed index type.
Provided Methods§
Sourcefn canonicalize(slice: &[Self]) -> &[Self::FixedWidth]
fn canonicalize(slice: &[Self]) -> &[Self::FixedWidth]
Convert a reference to a slice of Self
to fixed width types.
Sourcefn canonicalize_mut(slice: &mut [Self]) -> &mut [Self::FixedWidth]
fn canonicalize_mut(slice: &mut [Self]) -> &mut [Self::FixedWidth]
Convert a mutable reference to a slice of Self
to fixed width types.
Sourcefn from_signed(value: Self::Signed) -> Self
fn from_signed(value: Self::Signed) -> Self
Convert a signed value to an unsigned one.
Sourcefn sum_nonnegative(slice: &[Self]) -> Option<Self>
fn sum_nonnegative(slice: &[Self]) -> Option<Self>
Sum values while checking for overflow.
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.