Skip to main content

UsearchApi

Struct UsearchApi 

Source
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

Source

pub unsafe fn new<P>(path: P) -> Result<Self, Error>
where P: AsRef<OsStr>,

Source

pub unsafe fn from_library<L>(library: L) -> Result<Self, Error>
where L: Into<Library>,

Source

pub unsafe fn usearch_version(&self) -> *const c_char

Source

pub unsafe fn usearch_hardware_acceleration_compiled(&self) -> *const c_char

Source

pub unsafe fn usearch_hardware_acceleration_available(&self) -> *const c_char

Source

pub unsafe fn usearch_init( &self, options: *mut usearch_init_options_t, error: *mut usearch_error_t, ) -> usearch_index_t

Source

pub unsafe fn usearch_free( &self, index: usearch_index_t, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_memory_usage( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_hardware_acceleration( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> *const c_char

Source

pub unsafe fn usearch_serialized_length( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_save( &self, index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_load( &self, index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_view( &self, index: usearch_index_t, path: *const c_char, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_metadata( &self, path: *const c_char, options: *mut usearch_init_options_t, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_save_buffer( &self, index: usearch_index_t, buffer: *mut c_void, length: usize, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_load_buffer( &self, index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_view_buffer( &self, index: usearch_index_t, buffer: *const c_void, length: usize, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_metadata_buffer( &self, buffer: *const c_void, length: usize, options: *mut usearch_init_options_t, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_size( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_capacity( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_dimensions( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_connectivity( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_reserve( &self, index: usearch_index_t, capacity: usize, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_expansion_add( &self, index: usearch_index_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_change_expansion_add( &self, index: usearch_index_t, expansion: usize, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_change_threads_add( &self, index: usearch_index_t, threads: usize, error: *mut usearch_error_t, )

Source

pub unsafe fn usearch_change_metric_kind( &self, index: usearch_index_t, kind: usearch_metric_kind_t, error: *mut usearch_error_t, )

Source

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, )

Source

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, )

Source

pub unsafe fn usearch_contains( &self, index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t, ) -> bool

Source

pub unsafe fn usearch_count( &self, index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t, ) -> usize

Source

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

Source

pub unsafe fn usearch_remove( &self, index: usearch_index_t, key: usearch_key_t, error: *mut usearch_error_t, ) -> usize

Source

pub unsafe fn usearch_rename( &self, index: usearch_index_t, from: usearch_key_t, to: usearch_key_t, error: *mut usearch_error_t, ) -> usize

Source

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

Source

pub unsafe fn usearch_clear( &self, index: usearch_index_t, error: *mut usearch_error_t, )

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.