use storage::BlockType;
pub trait IntVec {
type Block: BlockType;
fn len(&self) -> u64;
#[inline]
fn is_empty(&self) -> bool {
self.len() == 0
}
fn element_bits(&self) -> usize;
fn get(&self, index: u64) -> Self::Block;
}
pub trait IntVecMut: IntVec {
fn set(&mut self, index: u64, value: Self::Block);
}