pub struct UsearchApi {Show 40 fields
pub usearch_version: unsafe extern "C" fn() -> *const c_char,
pub usearch_hardware_acceleration_compiled: unsafe extern "C" fn() -> *const c_char,
pub usearch_hardware_acceleration_available: unsafe extern "C" fn() -> *const c_char,
pub usearch_init: unsafe extern "C" fn(options: *mut usearch_init_options_t, error: *mut usearch_error_t) -> usearch_index_t,
pub usearch_free: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t),
pub usearch_memory_usage: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_hardware_acceleration: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> *const c_char,
pub usearch_serialized_length: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_save: unsafe extern "C" fn(index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t),
pub usearch_load: unsafe extern "C" fn(index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t),
pub usearch_view: unsafe extern "C" fn(index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t),
pub usearch_metadata: unsafe extern "C" fn(path: *const c_char, options: *mut usearch_init_options_t, error: *mut usearch_error_t),
pub usearch_save_buffer: unsafe extern "C" fn(index: usearch_index_t, buffer: *mut c_void, length: usize, error: *mut usearch_error_t),
pub usearch_load_buffer: unsafe extern "C" fn(index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t),
pub usearch_view_buffer: unsafe extern "C" fn(index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t),
pub usearch_metadata_buffer: unsafe extern "C" fn(buffer: *const c_void, length: usize, options: *mut usearch_init_options_t, error: *mut usearch_error_t),
pub usearch_size: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_capacity: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_dimensions: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_connectivity: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_reserve: unsafe extern "C" fn(index: usearch_index_t, capacity: usize, error: *mut usearch_error_t),
pub usearch_expansion_add: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_expansion_search: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize,
pub usearch_change_expansion_add: unsafe extern "C" fn(index: usearch_index_t, expansion: usize, error: *mut usearch_error_t),
pub usearch_change_expansion_search: unsafe extern "C" fn(index: usearch_index_t, expansion: usize, error: *mut usearch_error_t),
pub usearch_change_threads_add: unsafe extern "C" fn(index: usearch_index_t, threads: usize, error: *mut usearch_error_t),
pub usearch_change_threads_search: unsafe extern "C" fn(index: usearch_index_t, threads: usize, error: *mut usearch_error_t),
pub usearch_change_metric_kind: unsafe extern "C" fn(index: usearch_index_t, kind: usearch_metric_kind_t, error: *mut usearch_error_t),
pub usearch_change_metric: unsafe extern "C" fn(index: usearch_index_t, metric: usearch_metric_t, state: *mut c_void, kind: usearch_metric_kind_t, error: *mut usearch_error_t),
pub usearch_add: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, vector: *const c_void, vector_kind: usearch_scalar_kind_t, error: *mut usearch_error_t),
pub usearch_contains: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t) -> bool,
pub usearch_count: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t) -> usize,
pub usearch_search: unsafe extern "C" fn(index: usearch_index_t, query_vector: *const c_void, query_kind: usearch_scalar_kind_t, count: usize, keys: *mut usearch_key_t, distances: *mut usearch_distance_t, error: *mut usearch_error_t) -> usize,
pub usearch_filtered_search: unsafe extern "C" fn(index: usearch_index_t, query_vector: *const c_void, query_kind: usearch_scalar_kind_t, count: usize, filter: usearch_filtered_search_callback_t, filter_state: *mut c_void, keys: *mut usearch_key_t, distances: *mut usearch_distance_t, error: *mut usearch_error_t) -> usize,
pub usearch_get: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, count: usize, vector: *mut c_void, vector_kind: usearch_scalar_kind_t, error: *mut usearch_error_t) -> usize,
pub usearch_remove: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t) -> usize,
pub usearch_rename: unsafe extern "C" fn(index: usearch_index_t, from: usearch_key_t, to: usearch_key_t, error: *mut usearch_error_t) -> usize,
pub usearch_distance: unsafe extern "C" fn(vector_first: *const c_void, vector_second: *const c_void, scalar_kind: usearch_scalar_kind_t, dimensions: usize, metric_kind: usearch_metric_kind_t, error: *mut usearch_error_t) -> usearch_distance_t,
pub usearch_exact_search: unsafe extern "C" fn(dataset: *const c_void, dataset_size: usize, dataset_stride: usize, queries: *const c_void, queries_size: usize, queries_stride: usize, scalar_kind: usearch_scalar_kind_t, dimensions: usize, metric_kind: usearch_metric_kind_t, count: usize, threads: usize, keys: *mut usearch_key_t, keys_stride: usize, distances: *mut usearch_distance_t, distances_stride: usize, error: *mut usearch_error_t),
pub usearch_clear: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t),
/* private fields */
}Fields§
§usearch_version: unsafe extern "C" fn() -> *const c_char§usearch_hardware_acceleration_compiled: unsafe extern "C" fn() -> *const c_char§usearch_hardware_acceleration_available: unsafe extern "C" fn() -> *const c_char§usearch_init: unsafe extern "C" fn(options: *mut usearch_init_options_t, error: *mut usearch_error_t) -> usearch_index_t§usearch_free: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t)§usearch_memory_usage: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_hardware_acceleration: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> *const c_char§usearch_serialized_length: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_save: unsafe extern "C" fn(index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t)§usearch_load: unsafe extern "C" fn(index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t)§usearch_view: unsafe extern "C" fn(index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t)§usearch_metadata: unsafe extern "C" fn(path: *const c_char, options: *mut usearch_init_options_t, error: *mut usearch_error_t)§usearch_save_buffer: unsafe extern "C" fn(index: usearch_index_t, buffer: *mut c_void, length: usize, error: *mut usearch_error_t)§usearch_load_buffer: unsafe extern "C" fn(index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t)§usearch_view_buffer: unsafe extern "C" fn(index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t)§usearch_metadata_buffer: unsafe extern "C" fn(buffer: *const c_void, length: usize, options: *mut usearch_init_options_t, error: *mut usearch_error_t)§usearch_size: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_capacity: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_dimensions: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_connectivity: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_reserve: unsafe extern "C" fn(index: usearch_index_t, capacity: usize, error: *mut usearch_error_t)§usearch_expansion_add: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_expansion_search: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t) -> usize§usearch_change_expansion_add: unsafe extern "C" fn(index: usearch_index_t, expansion: usize, error: *mut usearch_error_t)§usearch_change_expansion_search: unsafe extern "C" fn(index: usearch_index_t, expansion: usize, error: *mut usearch_error_t)§usearch_change_threads_add: unsafe extern "C" fn(index: usearch_index_t, threads: usize, error: *mut usearch_error_t)§usearch_change_threads_search: unsafe extern "C" fn(index: usearch_index_t, threads: usize, error: *mut usearch_error_t)§usearch_change_metric_kind: unsafe extern "C" fn(index: usearch_index_t, kind: usearch_metric_kind_t, error: *mut usearch_error_t)§usearch_change_metric: unsafe extern "C" fn(index: usearch_index_t, metric: usearch_metric_t, state: *mut c_void, kind: usearch_metric_kind_t, error: *mut usearch_error_t)§usearch_add: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, vector: *const c_void, vector_kind: usearch_scalar_kind_t, error: *mut usearch_error_t)§usearch_contains: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t) -> bool§usearch_count: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t) -> usize§usearch_search: unsafe extern "C" fn(index: usearch_index_t, query_vector: *const c_void, query_kind: usearch_scalar_kind_t, count: usize, keys: *mut usearch_key_t, distances: *mut usearch_distance_t, error: *mut usearch_error_t) -> usize§usearch_filtered_search: unsafe extern "C" fn(index: usearch_index_t, query_vector: *const c_void, query_kind: usearch_scalar_kind_t, count: usize, filter: usearch_filtered_search_callback_t, filter_state: *mut c_void, keys: *mut usearch_key_t, distances: *mut usearch_distance_t, error: *mut usearch_error_t) -> usize§usearch_get: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, count: usize, vector: *mut c_void, vector_kind: usearch_scalar_kind_t, error: *mut usearch_error_t) -> usize§usearch_remove: unsafe extern "C" fn(index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t) -> usize§usearch_rename: unsafe extern "C" fn(index: usearch_index_t, from: usearch_key_t, to: usearch_key_t, error: *mut usearch_error_t) -> usize§usearch_distance: unsafe extern "C" fn(vector_first: *const c_void, vector_second: *const c_void, scalar_kind: usearch_scalar_kind_t, dimensions: usize, metric_kind: usearch_metric_kind_t, error: *mut usearch_error_t) -> usearch_distance_t§usearch_exact_search: unsafe extern "C" fn(dataset: *const c_void, dataset_size: usize, dataset_stride: usize, queries: *const c_void, queries_size: usize, queries_stride: usize, scalar_kind: usearch_scalar_kind_t, dimensions: usize, metric_kind: usearch_metric_kind_t, count: usize, threads: usize, keys: *mut usearch_key_t, keys_stride: usize, distances: *mut usearch_distance_t, distances_stride: usize, error: *mut usearch_error_t)§usearch_clear: unsafe extern "C" fn(index: usearch_index_t, error: *mut usearch_error_t)Implementations§
Source§impl UsearchApi
impl UsearchApi
pub unsafe fn new<P>(path: P) -> Result<Self, Error>
pub unsafe fn from_library<L>(library: L) -> Result<Self, Error>
pub unsafe fn usearch_version(&self) -> *const c_char
pub unsafe fn usearch_hardware_acceleration_compiled(&self) -> *const c_char
pub unsafe fn usearch_hardware_acceleration_available(&self) -> *const c_char
pub unsafe fn usearch_init( &self, options: *mut usearch_init_options_t, error: *mut usearch_error_t, ) -> usearch_index_t
pub unsafe fn usearch_free( &self, index: usearch_index_t, error: *mut usearch_error_t, )
pub unsafe fn usearch_memory_usage( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_hardware_acceleration( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> *const c_char
pub unsafe fn usearch_serialized_length( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_save( &self, index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t, )
pub unsafe fn usearch_load( &self, index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t, )
pub unsafe fn usearch_view( &self, index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t, )
pub unsafe fn usearch_metadata( &self, path: *const c_char, options: *mut usearch_init_options_t, error: *mut usearch_error_t, )
pub unsafe fn usearch_save_buffer( &self, index: usearch_index_t, buffer: *mut c_void, length: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_load_buffer( &self, index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_view_buffer( &self, index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_metadata_buffer( &self, buffer: *const c_void, length: usize, options: *mut usearch_init_options_t, error: *mut usearch_error_t, )
pub unsafe fn usearch_size( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_capacity( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_dimensions( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_connectivity( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_reserve( &self, index: usearch_index_t, capacity: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_expansion_add( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_expansion_search( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_change_expansion_add( &self, index: usearch_index_t, expansion: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_change_expansion_search( &self, index: usearch_index_t, expansion: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_change_threads_add( &self, index: usearch_index_t, threads: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_change_threads_search( &self, index: usearch_index_t, threads: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_change_metric_kind( &self, index: usearch_index_t, kind: usearch_metric_kind_t, error: *mut usearch_error_t, )
pub unsafe fn usearch_change_metric( &self, index: usearch_index_t, metric: usearch_metric_t, state: *mut c_void, kind: usearch_metric_kind_t, error: *mut usearch_error_t, )
pub unsafe fn usearch_add( &self, index: usearch_index_t, key: usearch_key_t, vector: *const c_void, vector_kind: usearch_scalar_kind_t, error: *mut usearch_error_t, )
pub unsafe fn usearch_contains( &self, index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t, ) -> bool
pub unsafe fn usearch_count( &self, index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_search( &self, index: usearch_index_t, query_vector: *const c_void, query_kind: usearch_scalar_kind_t, count: usize, keys: *mut usearch_key_t, distances: *mut usearch_distance_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_filtered_search( &self, index: usearch_index_t, query_vector: *const c_void, query_kind: usearch_scalar_kind_t, count: usize, filter: usearch_filtered_search_callback_t, filter_state: *mut c_void, keys: *mut usearch_key_t, distances: *mut usearch_distance_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_get( &self, index: usearch_index_t, key: usearch_key_t, count: usize, vector: *mut c_void, vector_kind: usearch_scalar_kind_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_remove( &self, index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_rename( &self, index: usearch_index_t, from: usearch_key_t, to: usearch_key_t, error: *mut usearch_error_t, ) -> usize
pub unsafe fn usearch_distance( &self, vector_first: *const c_void, vector_second: *const c_void, scalar_kind: usearch_scalar_kind_t, dimensions: usize, metric_kind: usearch_metric_kind_t, error: *mut usearch_error_t, ) -> usearch_distance_t
pub unsafe fn usearch_exact_search( &self, dataset: *const c_void, dataset_size: usize, dataset_stride: usize, queries: *const c_void, queries_size: usize, queries_stride: usize, scalar_kind: usearch_scalar_kind_t, dimensions: usize, metric_kind: usearch_metric_kind_t, count: usize, threads: usize, keys: *mut usearch_key_t, keys_stride: usize, distances: *mut usearch_distance_t, distances_stride: usize, error: *mut usearch_error_t, )
pub unsafe fn usearch_clear( &self, index: usearch_index_t, error: *mut usearch_error_t, )
Auto Trait Implementations§
impl Freeze for UsearchApi
impl RefUnwindSafe for UsearchApi
impl Send for UsearchApi
impl Sync for UsearchApi
impl Unpin for UsearchApi
impl UnsafeUnpin for UsearchApi
impl UnwindSafe for UsearchApi
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