IndexBase

Struct IndexBase 

Source
pub struct IndexBase<Idx = Udx, K = VertexIndex> { /* private fields */ }
Expand description

A generic IndexBase implementation used to represent various kinds of indices

Implementations§

Source§

impl<T, K> IndexBase<T, K>
where T: RawIndex,

Source

pub fn new(index: T) -> Self

returns a new instance of IndexBase with the given value.

Source

pub fn new_with<F>(index: F) -> Self
where F: FnOnce() -> T,

creates a new instance of IndexBase using the given function to generate the value

Source

pub fn one() -> Self
where T: One,

creates a new index with a value of one

Source

pub fn zero() -> Self
where T: Zero,

creates a new index with a value of zero

Source

pub const fn as_ptr(&self) -> *const T

returns a pointer to the inner value

Source

pub fn as_mut_ptr(&mut self) -> *mut T

returns a mutable pointer to the inner value

Source

pub fn as_raw_box(&self) -> Box<dyn RawIndex>
where T: Clone,

converts the a reference to a boxed raw index trait object

Source

pub fn into_raw_box(self) -> Box<dyn RawIndex>

boxes up the raw index value for generic use

Source

pub const fn get(&self) -> &T

returns an immutable reference to the inner value

Source

pub const fn get_mut(&mut self) -> &mut T

returns a mutable reference to the inner value

Source

pub fn value(self) -> T

consumes the current instance to return the inner value

Source

pub fn map<U, F>(self, f: F) -> IndexBase<U, K>
where F: FnOnce(T) -> U, U: RawIndex,

apply a function to the inner value and returns a new Index wrapping the result

Source

pub const fn replace(&mut self, index: T) -> T

replace and return the old value after replacing it with the given value

Source

pub fn set(&mut self, value: T) -> &mut Self

set the index to the given value

Source

pub const fn swap(&mut self, other: &mut Self)

swap the values of two indices

Source

pub fn take(&mut self) -> T
where T: Default,

take the value and replace it with the default value

Source

pub fn with<U: RawIndex>(self, value: U) -> IndexBase<U, K>

consumes the current index to create another with the given value

Source

pub fn counter(self) -> Counter<Self>

returns a new counter iterator over the index

Source

pub fn dec(self) -> IndexBase<<T as Sub>::Output, K>
where T: Sub + One, <T as Sub>::Output: RawIndex,

decrements the index value by one and returns a new instance

Source

pub fn dec_inplace(&mut self)
where T: SubAssign + One,

mutably decrements the index value by one

Source

pub fn inc(self) -> IndexBase<<T as Add>::Output, K>
where T: Add + One, <T as Add>::Output: RawIndex,

increments the index value by one and consumes the current instance to create another with the new value.

Source

pub fn inc_inplace(&mut self)
where T: Copy + AddAssign + One,

mutably increments the index value by 1

Source

pub fn step(&mut self) -> IndexResult<Self>
where T: AddStep<Output = T>,

increments the current index and returns the previous instance of the index.

    use rshyper_core::EdgeId;
    let mut edge_id = EdgeId::<usize>::zero();
    let e0 = edge_id.step()?;
    let e1 = edge_id.step()?;
    let e2 = edge_id.step()?;
    assert_eq!(e0.get(), &0);
    assert_eq!(e1.get(), &1);
    assert_eq!(e2.get(), &2);
Source

pub fn step_with<F>(&mut self, f: F) -> IndexResult<Self>
where F: FnOnce(&T) -> T,

replaces the current value with the next one computed using the provided function and returns the previous instance of the index.

Source

pub fn next_with<U, F>(self, f: F) -> IndexResult<IndexBase<U, K>>
where F: FnOnce(T) -> U, U: RawIndex,

similar to step_with, however, rather than replacing the current value with the computed value, it returns a new instance of the index containing the computed value.

Source

pub fn into_inner(self) -> T

👎Deprecated since 0.0.10: use value instead
Source§

impl<K> IndexBase<usize, K>

generic implementations for the IndexBase<T, K> enabled by the rand feature

Source

pub fn rand() -> Self

generate a random index from a value of type T

Source§

impl<T, K> IndexBase<T, K>
where T: RawIndex,

generic implementations for the IndexBase<T, K> enabled by the rand feature

Source

pub fn rand_step(&mut self) -> Self

replaces the current value with a randomly generated value and returns a new instance of IndexBase with the previous value.

Source

pub fn random() -> Self

generate a random index from a value of type T

Source

pub fn random_between<R>(range: R) -> Self
where R: SampleRange<T>, T: SampleUniform,

returns a new index randomly generated within the provided range

Source

pub fn random_with<R, Dist>(rng: &mut R, distr: Dist) -> Self
where R: ?Sized + RngCore, Dist: Distribution<T>,

generate a random index from a value of type T using the provided Rng

Source§

impl<K> IndexBase<usize, K>

Source

pub fn atomic() -> Self

returns a new index generated using an AtomicUsize This method is useful in that it is no_std compatible, thread-safe, and capable of generating unique indices in a concurrent environment.

Source

pub fn create() -> Self

a helper method that dynamically initializes the index based on the enabled features:

  • rand: if enabled, use random number generation to generate the index.
  • fallback: otherwise, use an atomic counter to generate the index.
Source

pub fn atomic_next(&mut self) -> Self

atomically generates a the next index, replacing the current value with the generated one and returning the previous value.

Source

pub fn generate(&mut self) -> Self

the generate is useful for instances where the type Idx of the IndexBase is not generalized, automatically using random number generation if the rand feature is enabled, or an atomic counter otherwise. The method is also useful in that it generates usize indices, whcih are the most common instances, yet aren’t direct implementors of StandardUniform.

Source§

impl<T> IndexBase<T, EdgeIndex>
where T: RawIndex,

Source

pub fn vertex(value: T) -> Self

Source§

impl<T> IndexBase<T, VertexIndex>
where T: RawIndex,

Source

pub fn vertex(value: T) -> Self

Trait Implementations§

Source§

impl<'a, K, A, B, C> Add<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Add<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the + operation. Read more
Source§

impl<'a, K, A, B, C> Add<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: Add<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the + operation. Read more
Source§

impl<'a, K, A, B, C> Add<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Add<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the + operation. Read more
Source§

impl<'a, K, A, B, C> Add<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: Add<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the + operation. Read more
Source§

impl<'a, K, A, B, C> Add<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Add<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the + operation. Read more
Source§

impl<'a, K, A, B, C> Add<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Add<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the + operation. Read more
Source§

impl<K, A, B, C> Add<IndexBase<B, K>> for IndexBase<A, K>
where A: Add<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the + operation. Read more
Source§

impl<K, A, B> AddAssign<B> for IndexBase<A, K>
where A: AddAssign<B>,

Source§

fn add_assign(&mut self, rhs: B)

Performs the += operation. Read more
Source§

impl<T, K> AsMut<T> for IndexBase<T, K>
where T: RawIndex,

Source§

fn as_mut(&mut self) -> &mut T

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<T, K> AsRef<T> for IndexBase<T, K>
where T: RawIndex,

Source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T, K> Binary for IndexBase<T, K>
where T: Binary,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a, K, A, B, C> BitAnd<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: BitAnd<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the & operation. Read more
Source§

impl<'a, K, A, B, C> BitAnd<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: BitAnd<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the & operation. Read more
Source§

impl<'a, K, A, B, C> BitAnd<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: BitAnd<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the & operation. Read more
Source§

impl<'a, K, A, B, C> BitAnd<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: BitAnd<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the & operation. Read more
Source§

impl<'a, K, A, B, C> BitAnd<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: BitAnd<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the & operation. Read more
Source§

impl<'a, K, A, B, C> BitAnd<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: BitAnd<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the & operation. Read more
Source§

impl<K, A, B, C> BitAnd<IndexBase<B, K>> for IndexBase<A, K>
where A: BitAnd<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the & operation. Read more
Source§

impl<K, A, B> BitAndAssign<B> for IndexBase<A, K>
where A: BitAndAssign<B>,

Source§

fn bitand_assign(&mut self, rhs: B)

Performs the &= operation. Read more
Source§

impl<'a, K, A, B, C> BitOr<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: BitOr<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the | operation. Read more
Source§

impl<'a, K, A, B, C> BitOr<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: BitOr<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the | operation. Read more
Source§

impl<'a, K, A, B, C> BitOr<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: BitOr<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the | operation. Read more
Source§

impl<'a, K, A, B, C> BitOr<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: BitOr<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the | operation. Read more
Source§

impl<'a, K, A, B, C> BitOr<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: BitOr<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the | operation. Read more
Source§

impl<'a, K, A, B, C> BitOr<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: BitOr<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the | operation. Read more
Source§

impl<K, A, B, C> BitOr<IndexBase<B, K>> for IndexBase<A, K>
where A: BitOr<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the | operation. Read more
Source§

impl<K, A, B> BitOrAssign<B> for IndexBase<A, K>
where A: BitOrAssign<B>,

Source§

fn bitor_assign(&mut self, rhs: B)

Performs the |= operation. Read more
Source§

impl<'a, K, A, B, C> BitXor<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: BitXor<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<'a, K, A, B, C> BitXor<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: BitXor<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<'a, K, A, B, C> BitXor<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: BitXor<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<'a, K, A, B, C> BitXor<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: BitXor<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<'a, K, A, B, C> BitXor<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: BitXor<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<'a, K, A, B, C> BitXor<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: BitXor<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<K, A, B, C> BitXor<IndexBase<B, K>> for IndexBase<A, K>
where A: BitXor<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<K, A, B> BitXorAssign<B> for IndexBase<A, K>
where A: BitXorAssign<B>,

Source§

fn bitxor_assign(&mut self, rhs: B)

Performs the ^= operation. Read more
Source§

impl<T, Idx> Borrow<IndexBase<Idx>> for Node<T, Idx>
where Idx: RawIndex,

Source§

fn borrow(&self) -> &VertexId<Idx>

Immutably borrows from an owned value. Read more
Source§

impl<T, S, K, Idx> Borrow<IndexBase<Idx, EdgeIndex>> for Edge<T, S, K, Idx>
where Idx: RawIndex, K: GraphType, S: Domain<Idx>,

Source§

fn borrow(&self) -> &EdgeId<Idx>

Immutably borrows from an owned value. Read more
Source§

impl<S, K, Idx> Borrow<IndexBase<Idx, EdgeIndex>> for Link<S, K, Idx>
where Idx: RawIndex, K: GraphType, S: Domain<Idx>,

Source§

fn borrow(&self) -> &EdgeId<Idx>

Immutably borrows from an owned value. Read more
Source§

impl<T, K> Borrow<T> for IndexBase<T, K>
where T: RawIndex,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T, S, K, Idx> BorrowMut<IndexBase<Idx, EdgeIndex>> for Edge<T, S, K, Idx>
where Idx: RawIndex, K: GraphType, S: Domain<Idx>,

Source§

fn borrow_mut(&mut self) -> &mut EdgeId<Idx>

Mutably borrows from an owned value. Read more
Source§

impl<S, K, Idx> BorrowMut<IndexBase<Idx, EdgeIndex>> for Link<S, K, Idx>
where Idx: RawIndex, K: GraphType, S: Domain<Idx>,

Source§

fn borrow_mut(&mut self) -> &mut EdgeId<Idx>

Mutably borrows from an owned value. Read more
Source§

impl<T, K> BorrowMut<T> for IndexBase<T, K>
where T: RawIndex,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Idx: Clone, K: Clone> Clone for IndexBase<Idx, K>

Source§

fn clone(&self) -> IndexBase<Idx, K>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T, K> Debug for IndexBase<T, K>
where T: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, K> Default for IndexBase<T, K>
where T: Default,

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T, K> Deref for IndexBase<T, K>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<T, K> DerefMut for IndexBase<T, K>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<'de, Idx, K> Deserialize<'de> for IndexBase<Idx, K>
where Idx: Deserialize<'de>,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<T, K> Display for IndexBase<T, K>
where T: Display,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, K> Distribution<IndexBase<T, K>> for StandardNormal

Source§

fn sample<R>(&self, rng: &mut R) -> IndexBase<T, K>
where R: ?Sized + RngCore,

Generate a random value of T, using rng as the source of randomness.
Source§

fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
where R: Rng, Self: Sized,

Create an iterator that generates random values of T, using rng as the source of randomness. Read more
Source§

fn map<F, S>(self, func: F) -> Map<Self, F, T, S>
where F: Fn(T) -> S, Self: Sized,

Map sampled values to type S Read more
Source§

impl<T, K> Distribution<IndexBase<T, K>> for StandardUniform

Source§

fn sample<R>(&self, rng: &mut R) -> IndexBase<T, K>
where R: ?Sized + Rng,

Generate a random value of T, using rng as the source of randomness.
Source§

fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
where R: Rng, Self: Sized,

Create an iterator that generates random values of T, using rng as the source of randomness. Read more
Source§

fn map<F, S>(self, func: F) -> Map<Self, F, T, S>
where F: Fn(T) -> S, Self: Sized,

Map sampled values to type S Read more
Source§

impl<'a, K, A, B, C> Div<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Div<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the / operation. Read more
Source§

impl<'a, K, A, B, C> Div<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: Div<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the / operation. Read more
Source§

impl<'a, K, A, B, C> Div<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Div<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the / operation. Read more
Source§

impl<'a, K, A, B, C> Div<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: Div<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the / operation. Read more
Source§

impl<'a, K, A, B, C> Div<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Div<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the / operation. Read more
Source§

impl<'a, K, A, B, C> Div<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Div<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the / operation. Read more
Source§

impl<K, A, B, C> Div<IndexBase<B, K>> for IndexBase<A, K>
where A: Div<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the / operation. Read more
Source§

impl<K, A, B> DivAssign<B> for IndexBase<A, K>
where A: DivAssign<B>,

Source§

fn div_assign(&mut self, rhs: B)

Performs the /= operation. Read more
Source§

impl<T, Idx> From<IndexBase<Idx>> for Node<T, Idx>
where Idx: RawIndex, T: Default,

Source§

fn from(index: VertexId<Idx>) -> Self

Converts to this type from the input type.
Source§

impl<T, S, K, Idx> From<IndexBase<Idx, EdgeIndex>> for Edge<T, S, K, Idx>
where Idx: RawIndex, K: GraphType, S: Default + Domain<Idx>, T: Default,

Source§

fn from(id: EdgeId<Idx>) -> Self

Converts to this type from the input type.
Source§

impl<S, K, Idx> From<IndexBase<Idx, EdgeIndex>> for Link<S, K, Idx>
where Idx: RawIndex, K: GraphType, S: Default + Domain<Idx>,

Source§

fn from(from: EdgeId<Idx>) -> Self

Converts to this type from the input type.
Source§

impl<T, K> From<T> for IndexBase<T, K>
where T: RawIndex,

Source§

fn from(index: T) -> Self

Converts to this type from the input type.
Source§

impl<S, K, Idx> FromIterator<IndexBase<Idx>> for Link<S, K, Idx>
where Idx: Default + RawIndex, K: GraphType, S: Domain<Idx> + FromIterator<VertexId<Idx>>,

Source§

fn from_iter<I>(iter: I) -> Self
where I: IntoIterator<Item = VertexId<Idx>>,

Creates a value from an iterator. Read more
Source§

impl<Idx: Hash, K: Hash> Hash for IndexBase<Idx, K>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<T, K> Iterator for IndexBase<T, K>
where T: RawIndex + AddStep<Output = T>,

Source§

type Item = IndexBase<T, K>

The type of the elements being iterated over.
Source§

fn next(&mut self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
Source§

fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
1.0.0 · Source§

fn count(self) -> usize
where Self: Sized,

Consumes the iterator, counting the number of iterations and returning it. Read more
1.0.0 · Source§

fn last(self) -> Option<Self::Item>
where Self: Sized,

Consumes the iterator, returning the last element. Read more
Source§

fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
1.0.0 · Source§

fn nth(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element of the iterator. Read more
1.28.0 · Source§

fn step_by(self, step: usize) -> StepBy<Self>
where Self: Sized,

Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
1.0.0 · Source§

fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
where Self: Sized, U: IntoIterator<Item = Self::Item>,

Takes two iterators and creates a new iterator over both in sequence. Read more
1.0.0 · Source§

fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
where Self: Sized, U: IntoIterator,

‘Zips up’ two iterators into a single iterator of pairs. Read more
Source§

fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
where Self: Sized, Self::Item: Clone,

🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places a copy of separator between adjacent items of the original iterator. Read more
Source§

fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
where Self: Sized, G: FnMut() -> Self::Item,

🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator between adjacent items of the original iterator. Read more
1.0.0 · Source§

fn map<B, F>(self, f: F) -> Map<Self, F>
where Self: Sized, F: FnMut(Self::Item) -> B,

Takes a closure and creates an iterator which calls that closure on each element. Read more
1.21.0 · Source§

fn for_each<F>(self, f: F)
where Self: Sized, F: FnMut(Self::Item),

Calls a closure on each element of an iterator. Read more
1.0.0 · Source§

fn filter<P>(self, predicate: P) -> Filter<Self, P>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator which uses a closure to determine if an element should be yielded. Read more
1.0.0 · Source§

fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
where Self: Sized, F: FnMut(Self::Item) -> Option<B>,

Creates an iterator that both filters and maps. Read more
1.0.0 · Source§

fn enumerate(self) -> Enumerate<Self>
where Self: Sized,

Creates an iterator which gives the current iteration count as well as the next value. Read more
1.0.0 · Source§

fn peekable(self) -> Peekable<Self>
where Self: Sized,

Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See their documentation for more information. Read more
1.0.0 · Source§

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator that skips elements based on a predicate. Read more
1.0.0 · Source§

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator that yields elements based on a predicate. Read more
1.57.0 · Source§

fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
where Self: Sized, P: FnMut(Self::Item) -> Option<B>,

Creates an iterator that both yields elements based on a predicate and maps. Read more
1.0.0 · Source§

fn skip(self, n: usize) -> Skip<Self>
where Self: Sized,

Creates an iterator that skips the first n elements. Read more
1.0.0 · Source§

fn take(self, n: usize) -> Take<Self>
where Self: Sized,

Creates an iterator that yields the first n elements, or fewer if the underlying iterator ends sooner. Read more
1.0.0 · Source§

fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
where Self: Sized, F: FnMut(&mut St, Self::Item) -> Option<B>,

An iterator adapter which, like fold, holds internal state, but unlike fold, produces a new iterator. Read more
1.0.0 · Source§

fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
where Self: Sized, U: IntoIterator, F: FnMut(Self::Item) -> U,

Creates an iterator that works like map, but flattens nested structure. Read more
1.29.0 · Source§

fn flatten(self) -> Flatten<Self>
where Self: Sized, Self::Item: IntoIterator,

Creates an iterator that flattens nested structure. Read more
Source§

fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
where Self: Sized, F: FnMut(&[Self::Item; N]) -> R,

🔬This is a nightly-only experimental API. (iter_map_windows)
Calls the given function f for each contiguous window of size N over self and returns an iterator over the outputs of f. Like slice::windows(), the windows during mapping overlap as well. Read more
1.0.0 · Source§

fn fuse(self) -> Fuse<Self>
where Self: Sized,

Creates an iterator which ends after the first None. Read more
1.0.0 · Source§

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where Self: Sized, F: FnMut(&Self::Item),

Does something with each element of an iterator, passing the value on. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Iterator. Read more
1.0.0 · Source§

fn collect<B>(self) -> B
where B: FromIterator<Self::Item>, Self: Sized,

Transforms an iterator into a collection. Read more
Source§

fn collect_into<E>(self, collection: &mut E) -> &mut E
where E: Extend<Self::Item>, Self: Sized,

🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
1.0.0 · Source§

fn partition<B, F>(self, f: F) -> (B, B)
where Self: Sized, B: Default + Extend<Self::Item>, F: FnMut(&Self::Item) -> bool,

Consumes an iterator, creating two collections from it. Read more
Source§

fn is_partitioned<P>(self, predicate: P) -> bool
where Self: Sized, P: FnMut(Self::Item) -> bool,

🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, such that all those that return true precede all those that return false. Read more
1.27.0 · Source§

fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
where Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

An iterator method that applies a function as long as it returns successfully, producing a single, final value. Read more
1.27.0 · Source§

fn try_for_each<F, R>(&mut self, f: F) -> R
where Self: Sized, F: FnMut(Self::Item) -> R, R: Try<Output = ()>,

An iterator method that applies a fallible function to each item in the iterator, stopping at the first error and returning that error. Read more
1.0.0 · Source§

fn fold<B, F>(self, init: B, f: F) -> B
where Self: Sized, F: FnMut(B, Self::Item) -> B,

Folds every element into an accumulator by applying an operation, returning the final result. Read more
1.51.0 · Source§

fn reduce<F>(self, f: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(Self::Item, Self::Item) -> Self::Item,

Reduces the elements to a single one, by repeatedly applying a reducing operation. Read more
Source§

fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
where Self: Sized, R: Try<Output = Self::Item>, <R as Try>::Residual: Residual<Option<Self::Item>>,

🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the closure returns a failure, the failure is propagated back to the caller immediately. Read more
1.0.0 · Source§

fn all<F>(&mut self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> bool,

Tests if every element of the iterator matches a predicate. Read more
1.0.0 · Source§

fn any<F>(&mut self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> bool,

Tests if any element of the iterator matches a predicate. Read more
1.0.0 · Source§

fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator that satisfies a predicate. Read more
1.30.0 · Source§

fn find_map<B, F>(&mut self, f: F) -> Option<B>
where Self: Sized, F: FnMut(Self::Item) -> Option<B>,

Applies function to the elements of iterator and returns the first non-none result. Read more
Source§

fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
where Self: Sized, R: Try<Output = bool>, <R as Try>::Residual: Residual<Option<Self::Item>>,

🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns the first true result or the first error. Read more
1.0.0 · Source§

fn position<P>(&mut self, predicate: P) -> Option<usize>
where Self: Sized, P: FnMut(Self::Item) -> bool,

Searches for an element in an iterator, returning its index. Read more
1.0.0 · Source§

fn max(self) -> Option<Self::Item>
where Self: Sized, Self::Item: Ord,

Returns the maximum element of an iterator. Read more
1.0.0 · Source§

fn min(self) -> Option<Self::Item>
where Self: Sized, Self::Item: Ord,

Returns the minimum element of an iterator. Read more
1.6.0 · Source§

fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

Returns the element that gives the maximum value from the specified function. Read more
1.15.0 · Source§

fn max_by<F>(self, compare: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

Returns the element that gives the maximum value with respect to the specified comparison function. Read more
1.6.0 · Source§

fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

Returns the element that gives the minimum value from the specified function. Read more
1.15.0 · Source§

fn min_by<F>(self, compare: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

Returns the element that gives the minimum value with respect to the specified comparison function. Read more
1.0.0 · Source§

fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
where FromA: Default + Extend<A>, FromB: Default + Extend<B>, Self: Sized + Iterator<Item = (A, B)>,

Converts an iterator of pairs into a pair of containers. Read more
1.36.0 · Source§

fn copied<'a, T>(self) -> Copied<Self>
where T: Copy + 'a, Self: Sized + Iterator<Item = &'a T>,

Creates an iterator which copies all of its elements. Read more
1.0.0 · Source§

fn cloned<'a, T>(self) -> Cloned<Self>
where T: Clone + 'a, Self: Sized + Iterator<Item = &'a T>,

Creates an iterator which clones all of its elements. Read more
1.0.0 · Source§

fn cycle(self) -> Cycle<Self>
where Self: Sized + Clone,

Repeats an iterator endlessly. Read more
Source§

fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
where Self: Sized,

🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
1.11.0 · Source§

fn sum<S>(self) -> S
where Self: Sized, S: Sum<Self::Item>,

Sums the elements of an iterator. Read more
1.11.0 · Source§

fn product<P>(self) -> P
where Self: Sized, P: Product<Self::Item>,

Iterates over the entire iterator, multiplying all the elements Read more
1.5.0 · Source§

fn cmp<I>(self, other: I) -> Ordering
where I: IntoIterator<Item = Self::Item>, Self::Item: Ord, Self: Sized,

Lexicographically compares the elements of this Iterator with those of another. Read more
Source§

fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. Read more
1.5.0 · Source§

fn partial_cmp<I>(self, other: I) -> Option<Ordering>
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Lexicographically compares the PartialOrd elements of this Iterator with those of another. The comparison works like short-circuit evaluation, returning a result without comparing the remaining elements. As soon as an order can be determined, the evaluation stops and a result is returned. Read more
Source§

fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. Read more
1.5.0 · Source§

fn eq<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are equal to those of another. Read more
Source§

fn eq_by<I, F>(self, other: I, eq: F) -> bool
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of another with respect to the specified equality function. Read more
1.5.0 · Source§

fn ne<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are not equal to those of another. Read more
1.5.0 · Source§

fn lt<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically less than those of another. Read more
1.5.0 · Source§

fn le<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically less or equal to those of another. Read more
1.5.0 · Source§

fn gt<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically greater than those of another. Read more
1.5.0 · Source§

fn ge<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically greater than or equal to those of another. Read more
1.82.0 · Source§

fn is_sorted(self) -> bool
where Self: Sized, Self::Item: PartialOrd,

Checks if the elements of this iterator are sorted. Read more
1.82.0 · Source§

fn is_sorted_by<F>(self, compare: F) -> bool
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> bool,

Checks if the elements of this iterator are sorted using the given comparator function. Read more
1.82.0 · Source§

fn is_sorted_by_key<F, K>(self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd,

Checks if the elements of this iterator are sorted using the given key extraction function. Read more
Source§

impl<T, K> LowerExp for IndexBase<T, K>
where T: LowerExp,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, K> LowerHex for IndexBase<T, K>
where T: LowerHex,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a, K, A, B, C> Mul<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Mul<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a, K, A, B, C> Mul<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: Mul<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a, K, A, B, C> Mul<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Mul<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a, K, A, B, C> Mul<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: Mul<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a, K, A, B, C> Mul<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Mul<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a, K, A, B, C> Mul<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Mul<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the * operation. Read more
Source§

impl<K, A, B, C> Mul<IndexBase<B, K>> for IndexBase<A, K>
where A: Mul<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the * operation. Read more
Source§

impl<K, A, B> MulAssign<B> for IndexBase<A, K>
where A: MulAssign<B>,

Source§

fn mul_assign(&mut self, rhs: B)

Performs the *= operation. Read more
Source§

impl<T, K> Neg for IndexBase<T, K>
where T: Neg,

Source§

type Output = IndexBase<<T as Neg>::Output, K>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<T, K> Not for IndexBase<T, K>
where T: Not,

Source§

type Output = IndexBase<<T as Not>::Output, K>

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl<T, K> Num for IndexBase<T, K>
where T: Num,

Source§

type FromStrRadixErr = <T as Num>::FromStrRadixErr

Source§

fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>

Convert from a string and radix (typically 2..=36). Read more
Source§

impl<T, K> Octal for IndexBase<T, K>
where T: Octal,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, K> One for IndexBase<T, K>
where T: One,

Source§

fn one() -> Self

Returns the multiplicative identity element of Self, 1. Read more
Source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
Source§

fn is_one(&self) -> bool
where Self: PartialEq,

Returns true if self is equal to the multiplicative identity. Read more
Source§

impl<Idx: Ord, K: Ord> Ord for IndexBase<Idx, K>

Source§

fn cmp(&self, other: &IndexBase<Idx, K>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl<'a, T, K> PartialEq<&'a IndexBase<T, K>> for IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &&'a IndexBase<T, K>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, T, K> PartialEq<&'a T> for IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &&'a T) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, T, K> PartialEq<&'a mut IndexBase<T, K>> for IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &&'a mut IndexBase<T, K>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, T, K> PartialEq<&'a mut T> for IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &&'a mut T) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T, K> PartialEq<IndexBase<T, K>> for &IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &IndexBase<T, K>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T, K> PartialEq<IndexBase<T, K>> for &mut IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &IndexBase<T, K>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T, K> PartialEq<T> for IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &T) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T, K> PartialEq for IndexBase<T, K>
where T: PartialEq,

Source§

fn eq(&self, other: &IndexBase<T, K>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, T, K> PartialOrd<&'a T> for IndexBase<T, K>
where T: PartialOrd,

Source§

fn partial_cmp(&self, other: &&'a T) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<'a, T, K> PartialOrd<&'a mut T> for IndexBase<T, K>
where T: PartialOrd,

Source§

fn partial_cmp(&self, other: &&'a mut T) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<T, K> PartialOrd<T> for IndexBase<T, K>
where T: PartialOrd,

Source§

fn partial_cmp(&self, other: &T) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<Idx: PartialOrd, K: PartialOrd> PartialOrd for IndexBase<Idx, K>

Source§

fn partial_cmp(&self, other: &IndexBase<Idx, K>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<T, K> Pointer for IndexBase<T, K>
where T: Pointer,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<K, Id> RawPoint for IndexBase<Id, K>
where Id: RawIndex,

Source§

type Key = Id

Source§

impl<'a, K, A, B, C> Rem<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Rem<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the % operation. Read more
Source§

impl<'a, K, A, B, C> Rem<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: Rem<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the % operation. Read more
Source§

impl<'a, K, A, B, C> Rem<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Rem<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the % operation. Read more
Source§

impl<'a, K, A, B, C> Rem<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: Rem<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the % operation. Read more
Source§

impl<'a, K, A, B, C> Rem<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Rem<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the % operation. Read more
Source§

impl<'a, K, A, B, C> Rem<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Rem<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the % operation. Read more
Source§

impl<K, A, B, C> Rem<IndexBase<B, K>> for IndexBase<A, K>
where A: Rem<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the % operation. Read more
Source§

impl<K, A, B> RemAssign<B> for IndexBase<A, K>
where A: RemAssign<B>,

Source§

fn rem_assign(&mut self, rhs: B)

Performs the %= operation. Read more
Source§

impl<Idx, K> Serialize for IndexBase<Idx, K>
where Idx: Serialize,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'a, K, A, B, C> Shl<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Shl<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the << operation. Read more
Source§

impl<'a, K, A, B, C> Shl<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: Shl<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the << operation. Read more
Source§

impl<'a, K, A, B, C> Shl<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Shl<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the << operation. Read more
Source§

impl<'a, K, A, B, C> Shl<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: Shl<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the << operation. Read more
Source§

impl<'a, K, A, B, C> Shl<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Shl<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the << operation. Read more
Source§

impl<'a, K, A, B, C> Shl<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Shl<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the << operation. Read more
Source§

impl<K, A, B, C> Shl<IndexBase<B, K>> for IndexBase<A, K>
where A: Shl<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the << operation. Read more
Source§

impl<K, A, B> ShlAssign<B> for IndexBase<A, K>
where A: ShlAssign<B>,

Source§

fn shl_assign(&mut self, rhs: B)

Performs the <<= operation. Read more
Source§

impl<'a, K, A, B, C> Shr<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Shr<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<'a, K, A, B, C> Shr<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: Shr<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<'a, K, A, B, C> Shr<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Shr<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<'a, K, A, B, C> Shr<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: Shr<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<'a, K, A, B, C> Shr<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Shr<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<'a, K, A, B, C> Shr<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Shr<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<K, A, B, C> Shr<IndexBase<B, K>> for IndexBase<A, K>
where A: Shr<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<K, A, B> ShrAssign<B> for IndexBase<A, K>
where A: ShrAssign<B>,

Source§

fn shr_assign(&mut self, rhs: B)

Performs the >>= operation. Read more
Source§

impl<T, K> StepWith<T> for IndexBase<T, K>
where T: RawIndex,

Source§

type Output = IndexBase<T, K>

Source§

fn step_with<F>(&mut self, f: F) -> Self::Output
where F: FnOnce(&T) -> T,

Source§

impl<'a, K, A, B, C> Sub<&'a IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Sub<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the - operation. Read more
Source§

impl<'a, K, A, B, C> Sub<&'a IndexBase<B, K>> for IndexBase<A, K>
where A: Sub<&'a B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'a IndexBase<B, K>) -> Self::Output

Performs the - operation. Read more
Source§

impl<'a, K, A, B, C> Sub<&'a mut IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Sub<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the - operation. Read more
Source§

impl<'a, K, A, B, C> Sub<&'a mut IndexBase<B, K>> for IndexBase<A, K>
where A: Sub<&'a mut B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'a mut IndexBase<B, K>) -> Self::Output

Performs the - operation. Read more
Source§

impl<'a, K, A, B, C> Sub<IndexBase<B, K>> for &'a IndexBase<A, K>
where &'a A: Sub<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the - operation. Read more
Source§

impl<'a, K, A, B, C> Sub<IndexBase<B, K>> for &'a mut IndexBase<A, K>
where &'a mut A: Sub<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the - operation. Read more
Source§

impl<K, A, B, C> Sub<IndexBase<B, K>> for IndexBase<A, K>
where A: Sub<B, Output = C>,

Source§

type Output = IndexBase<C, K>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: IndexBase<B, K>) -> Self::Output

Performs the - operation. Read more
Source§

impl<K, A, B> SubAssign<B> for IndexBase<A, K>
where A: SubAssign<B>,

Source§

fn sub_assign(&mut self, rhs: B)

Performs the -= operation. Read more
Source§

impl<T, K> UpperExp for IndexBase<T, K>
where T: UpperExp,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, K> UpperHex for IndexBase<T, K>
where T: UpperHex,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, K> Zero for IndexBase<T, K>
where T: Zero,

Source§

fn zero() -> Self

Returns the additive identity element of Self, 0. Read more
Source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
Source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
Source§

impl<Idx: Copy, K: Copy> Copy for IndexBase<Idx, K>

Source§

impl<T, K> Eq for IndexBase<T, K>
where T: Eq,

Auto Trait Implementations§

§

impl<Idx, K> Freeze for IndexBase<Idx, K>
where Idx: Freeze,

§

impl<Idx, K> RefUnwindSafe for IndexBase<Idx, K>

§

impl<Idx, K> Send for IndexBase<Idx, K>
where Idx: Send, K: Send,

§

impl<Idx, K> Sync for IndexBase<Idx, K>
where Idx: Sync, K: Sync,

§

impl<Idx, K> Unpin for IndexBase<Idx, K>
where Idx: Unpin, K: Unpin,

§

impl<Idx, K> UnwindSafe for IndexBase<Idx, K>
where Idx: UnwindSafe, K: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsWeight<T> for T
where T: Clone + IntoWeight<T>,

Source§

fn as_weight(&self) -> Weight<T>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ErrorKind for T
where T: Send + Sync + Debug + Display,

Source§

fn __private__(&self) -> Seal

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<K, S> Identity<K> for S
where S: Borrow<K>, K: Identifier,

Source§

type Item = S

Source§

fn get(&self) -> &<S as Identity<K>>::Item

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<I> IntoIterator for I
where I: Iterator,

Source§

type Item = <I as Iterator>::Item

The type of the elements being iterated over.
Source§

type IntoIter = I

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> I

Creates an iterator from a value. Read more
Source§

impl<T> IntoWeight<T> for T

Source§

impl<I> IteratorRandom for I
where I: Iterator,

Source§

fn choose<R>(self, rng: &mut R) -> Option<Self::Item>
where R: Rng + ?Sized,

Uniformly sample one element Read more
Source§

fn choose_stable<R>(self, rng: &mut R) -> Option<Self::Item>
where R: Rng + ?Sized,

Uniformly sample one element (stable) Read more
Source§

fn choose_multiple_fill<R>(self, rng: &mut R, buf: &mut [Self::Item]) -> usize
where R: Rng + ?Sized,

Uniformly sample amount distinct elements into a buffer Read more
Source§

fn choose_multiple<R>(self, rng: &mut R, amount: usize) -> Vec<Self::Item>
where R: Rng + ?Sized,

Uniformly sample amount distinct elements into a Vec Read more
Source§

impl<Q> RawState for Q
where Q: Send + Sync + Debug,

Source§

fn __private__(&self) -> Seal

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<R> Rng for R
where R: RngCore + ?Sized,

Source§

fn random<T>(&mut self) -> T

Return a random value via the StandardUniform distribution. Read more
Source§

fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>

Return an iterator over random variates Read more
Source§

fn random_range<T, R>(&mut self, range: R) -> T
where T: SampleUniform, R: SampleRange<T>,

Generate a random value in the given range. Read more
Source§

fn random_bool(&mut self, p: f64) -> bool

Return a bool with a probability p of being true. Read more
Source§

fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool

Return a bool with a probability of numerator/denominator of being true. Read more
Source§

fn sample<T, D>(&mut self, distr: D) -> T
where D: Distribution<T>,

Sample a new value, using the given distribution. Read more
Source§

fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>
where D: Distribution<T>, Self: Sized,

Create an iterator that generates values using the given distribution. Read more
Source§

fn fill<T>(&mut self, dest: &mut T)
where T: Fill + ?Sized,

Fill any type implementing Fill with random data Read more
Source§

fn gen<T>(&mut self) -> T

👎Deprecated since 0.9.0: Renamed to random to avoid conflict with the new gen keyword in Rust 2024.
Alias for Rng::random.
Source§

fn gen_range<T, R>(&mut self, range: R) -> T
where T: SampleUniform, R: SampleRange<T>,

👎Deprecated since 0.9.0: Renamed to random_range
Source§

fn gen_bool(&mut self, p: f64) -> bool

👎Deprecated since 0.9.0: Renamed to random_bool
Alias for Rng::random_bool.
Source§

fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool

👎Deprecated since 0.9.0: Renamed to random_ratio
Source§

impl<T> RngCore for T
where T: DerefMut, <T as Deref>::Target: RngCore,

Source§

fn next_u32(&mut self) -> u32

Return the next random u32. Read more
Source§

fn next_u64(&mut self) -> u64

Return the next random u64. Read more
Source§

fn fill_bytes(&mut self, dst: &mut [u8])

Fill dest with random data. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<R> TryRngCore for R
where R: RngCore + ?Sized,

Source§

type Error = Infallible

The type returned in the event of a RNG error.
Source§

fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>

Return the next random u32.
Source§

fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>

Return the next random u64.
Source§

fn try_fill_bytes( &mut self, dst: &mut [u8], ) -> Result<(), <R as TryRngCore>::Error>

Fill dest entirely with random data.
Source§

fn unwrap_err(self) -> UnwrapErr<Self>
where Self: Sized,

Wrap RNG with the UnwrapErr wrapper.
Source§

fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>

Wrap RNG with the UnwrapMut wrapper.
Source§

fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>
where Self: Sized,

Convert an RngCore to a RngReadAdapter.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> CryptoRng for T
where T: DerefMut, <T as Deref>::Target: CryptoRng,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> NumAssign for T
where T: Num + NumAssignOps,

Source§

impl<T, Rhs> NumAssignOps<Rhs> for T
where T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,

Source§

impl<T> NumAssignRef for T
where T: NumAssign + for<'r> NumAssignOps<&'r T>,

Source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

Source§

impl<T> NumRef for T
where T: Num + for<'r> NumOps<&'r T>,

Source§

impl<T, Base> RefNum<Base> for T
where T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>,

Source§

impl<R> TryCryptoRng for R
where R: CryptoRng + ?Sized,