use std::borrow::Cow;
pub trait StringTable<'a, Key : PartialOrd + Copy>
{
fn add(&mut self, value : &str) -> Key;
fn remove(&mut self, key: Key) -> ();
fn get(&self, key : Key) -> Option<&Cow<'a, str>>;
fn len(&self) -> usize;
fn contains(&self, value : &str) -> bool;
fn hash(&self, value : &str) -> u64;
}