Trait disjoint_sets::ElementType [] [src]

pub trait ElementType: Copy + Debug + Eq {
    fn from_usize(n: usize) -> Option<Self>;
fn to_usize(self) -> usize; }

A type that can be used as a union-find element.

It must be safely convertible to and from usize.

The two methods must be well-behaved partial inverses as follows:

  • For all n: usize, if Self::from_usize(n) = Some(t) then t.to_usize() = n.
  • For all t: Self, if t.to_usize() = n then Self::from_usize(n) = Some(t).
  • For all n: usize, if Self::from_usize(n) = None then for all m: usize such that m > n, Self::from_usize(m) = None.

In other words, ElementType sets up a bijection between the first k usize values and some k values of the Self type.

Required Methods

Converts from usize to the element type.

Returns None if the argument won’t fit in Self.

Converts from the element type to usize.

Implementations on Foreign Types

impl ElementType for usize
[src]

impl ElementType for u8
[src]

[src]

[src]

impl ElementType for u16
[src]

[src]

[src]

impl ElementType for u32
[src]

[src]

[src]

Implementors