pub struct MemoryTable<N, K>{
pub vec_store: VecStore<N>,
/* private fields */
}Expand description
In memory backend for LSH.
Fields§
§vec_store: VecStore<N>Trait Implementations§
Source§impl<N, K> Debug for MemoryTable<N, K>
impl<N, K> Debug for MemoryTable<N, K>
Source§impl<'de, N, K> Deserialize<'de> for MemoryTable<N, K>
impl<'de, N, K> Deserialize<'de> for MemoryTable<N, K>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<N, K> HashTables<N, K> for MemoryTable<N, K>
impl<N, K> HashTables<N, K> for MemoryTable<N, K>
Source§fn delete(&mut self, hash: &[K], d: &[N], hash_table: usize) -> Result<()>
fn delete(&mut self, hash: &[K], d: &[N], hash_table: usize) -> Result<()>
Expensive operation we need to do a linear search over all datapoints
Source§fn query_bucket(&self, hash: &[K], hash_table: usize) -> Result<FnvHashSet<u32>>
fn query_bucket(&self, hash: &[K], hash_table: usize) -> Result<FnvHashSet<u32>>
Query the whole bucket
fn new( n_hash_tables: usize, only_index_storage: bool, _: &str, ) -> Result<Box<Self>>
Source§fn put(&mut self, hash: Vec<K>, d: &[N], hash_table: usize) -> Result<u32>
fn put(&mut self, hash: Vec<K>, d: &[N], hash_table: usize) -> Result<u32>
Arguments Read more
fn update_by_idx( &mut self, old_hash: &[K], new_hash: Vec<K>, idx: u32, hash_table: usize, ) -> Result<()>
fn idx_to_datapoint(&self, idx: u32) -> Result<&Vec<N>>
fn increase_storage(&mut self, size: usize)
fn describe(&self) -> Result<String>
fn get_unique_hash_int(&self) -> FnvHashSet<i32>
fn store_hashers<H: VecHash<N, K> + Serialize>( &mut self, _hashers: &[H], ) -> Result<()>
fn load_hashers<H: VecHash<N, K> + DeserializeOwned>(&self) -> Result<Vec<H>>
Auto Trait Implementations§
impl<N, K> Freeze for MemoryTable<N, K>
impl<N, K> RefUnwindSafe for MemoryTable<N, K>where
N: RefUnwindSafe,
K: RefUnwindSafe,
impl<N, K> Send for MemoryTable<N, K>
impl<N, K> Sync for MemoryTable<N, K>
impl<N, K> Unpin for MemoryTable<N, K>
impl<N, K> UnwindSafe for MemoryTable<N, K>where
K: UnwindSafe,
N: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more