[−][src]Struct lsh_rs::MemoryTable
In memory backend for LSH.
Fields
vec_store: VecStore<N>
Trait Implementations
impl<N, K> Debug for MemoryTable<N, K> where
N: Numeric,
K: Integer,
[src]
N: Numeric,
K: Integer,
impl<'de, N, K> Deserialize<'de> for MemoryTable<N, K> where
N: Numeric,
K: Integer,
N: Deserialize<'de>,
K: Deserialize<'de>,
[src]
N: Numeric,
K: Integer,
N: Deserialize<'de>,
K: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<N, K> HashTables<N, K> for MemoryTable<N, K> where
N: Numeric,
K: Integer,
[src]
N: Numeric,
K: Integer,
fn new(
n_hash_tables: usize,
only_index_storage: bool,
_: &str
) -> Result<Box<Self>>
[src]
n_hash_tables: usize,
only_index_storage: bool,
_: &str
) -> Result<Box<Self>>
fn put(&mut self, hash: Vec<K>, d: &[N], hash_table: usize) -> Result<u32>
[src]
fn delete(&mut self, hash: &[K], d: &[N], hash_table: usize) -> Result<()>
[src]
Expensive operation we need to do a linear search over all datapoints
fn update_by_idx(
&mut self,
old_hash: &[K],
new_hash: Vec<K>,
idx: u32,
hash_table: usize
) -> Result<()>
[src]
&mut self,
old_hash: &[K],
new_hash: Vec<K>,
idx: u32,
hash_table: usize
) -> Result<()>
fn query_bucket(&self, hash: &[K], hash_table: usize) -> Result<HashSet<u32>>
[src]
Query the whole bucket
fn idx_to_datapoint(&self, idx: u32) -> Result<&Vec<N>>
[src]
fn increase_storage(&mut self, size: usize)
[src]
fn describe(&self) -> Result<String>
[src]
fn get_unique_hash_int(&self) -> FnvHashSet<i32>
[src]
fn store_hashers<H: VecHash<N, K> + Serialize>(
&mut self,
_hashers: &[H]
) -> Result<()>
[src]
&mut self,
_hashers: &[H]
) -> Result<()>
fn load_hashers<H: VecHash<N, K> + DeserializeOwned>(&self) -> Result<Vec<H>>
[src]
impl<N, K> Serialize for MemoryTable<N, K> where
N: Numeric,
K: Integer,
N: Serialize,
K: Serialize,
[src]
N: Numeric,
K: Integer,
N: Serialize,
K: Serialize,
Auto Trait Implementations
impl<N, K> RefUnwindSafe for MemoryTable<N, K> where
K: RefUnwindSafe,
N: RefUnwindSafe,
K: RefUnwindSafe,
N: 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> where
K: Unpin,
N: Unpin,
K: Unpin,
N: Unpin,
impl<N, K> UnwindSafe for MemoryTable<N, K> where
K: UnwindSafe,
N: UnwindSafe,
K: UnwindSafe,
N: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,