Trait huff_coding::weights::Weights[][src]

pub trait Weights<L>: Eq + Clone + IntoIterator<Item = (L, usize)> {
    fn get(&self, letter: &L) -> Option<&usize>;
fn get_mut(&mut self, letter: &L) -> Option<&mut usize>;
fn len(&self) -> usize;
fn is_empty(&self) -> bool; }

Trait signifying that the struct stores the weights of a certain type (letter), so that for any stored letter there is a corresponding usize(weight).

Implemented by default for HashMap<L, usize> and for ByteWeights

Needed implementations:

  • Traits:
  • Eq
  • Clone
  • IntoIterator<Item = (L, usize)>
  • Methods:
  • fn get(&self, letter: &L) -> Option<&usize>
  • fn get_mut(&mut self, letter: &L) -> Option<&mut usize>
  • fn len(&self) -> usize
  • fn is_empty(&self) -> bool

In order to build with a HuffTree L must implement HuffLetter

Required methods

fn get(&self, letter: &L) -> Option<&usize>[src]

fn get_mut(&mut self, letter: &L) -> Option<&mut usize>[src]

fn len(&self) -> usize[src]

fn is_empty(&self) -> bool[src]

Loading content...

Implementations on Foreign Types

impl<L: Eq + Clone + Hash> Weights<L> for HashMap<L, usize>[src]

Loading content...

Implementors

impl Weights<u8> for ByteWeights[src]

Loading content...