mod neighbor_provider;
mod provider;
mod quant_vector_provider;
mod vector_provider;
pub use provider::{
AsVectorDtype, BfTreePaths, BfTreeProvider, BfTreeProviderParameters, CreateQuantProvider,
FullAccessor, GraphParams, Hidden, Index, QuantAccessor, QuantIndex, StartPoint, VectorDtype,
};
pub use bf_tree::Config;
use diskann::ANNError;
#[derive(Debug, Clone)]
pub struct ConfigError(pub bf_tree::ConfigError);
impl std::fmt::Display for ConfigError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "BfTree configuration error: {:?}", self.0)
}
}
impl std::error::Error for ConfigError {}
impl From<ConfigError> for ANNError {
#[track_caller]
#[inline(never)]
fn from(error: ConfigError) -> ANNError {
ANNError::new(diskann::ANNErrorKind::IndexError, error)
}
}