Struct genmesh::LruIndexer [−][src]
An LruIndexer
is useful for creating indexed steam from a stream of
vertices. Each vertex that is index is only compared against the vetices
contained in the cache. If a vertex is not found the LruIndexer will emit
a new vertex and return the index of that new vertex.
The oldest sample by time used will be dropped if a new vertex is found.
Methods
impl<T, F: FnMut(usize, T)> LruIndexer<T, F>
[src]
impl<T, F: FnMut(usize, T)> LruIndexer<T, F>
pub fn new(size: usize, emit: F) -> LruIndexer<T, F>
[src]
pub fn new(size: usize, emit: F) -> LruIndexer<T, F>
create a new LruIndexer
, the window size is limited by the size
parameter
it is recommended to keep this small since lookup is done in N time
if a new vertex is found, emit
will be called. emit will be supplied with a
vertex and a index that was used.
Trait Implementations
Auto Trait Implementations
impl<T, F> Send for LruIndexer<T, F> where
F: Send,
T: Send,
impl<T, F> Send for LruIndexer<T, F> where
F: Send,
T: Send,
impl<T, F> Sync for LruIndexer<T, F> where
F: Sync,
T: Sync,
impl<T, F> Sync for LruIndexer<T, F> where
F: Sync,
T: Sync,