Struct genmesh::LruIndexer [] [src]

pub struct LruIndexer<T, F: FnMut(usize, T)> { /* fields omitted */ }

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]

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

impl<T: PartialEq + Clone, F: FnMut(usize, T)> Indexer<T> for LruIndexer<T, F>
[src]

convert a vertex into an index.