pub trait VectorEngine<T>{
// Required methods
fn new(
structural_repository: String,
dynamic_repository: String,
initial_file_size: u64,
) -> Self;
fn push(&self, obj: T);
fn pushx(&self, objs: Vec<T>);
fn pull(&self, index: u64) -> T;
fn pullx(&self, index: u64, count: u64) -> Vec<T>;
fn len(&self) -> usize;
// Provided methods
fn is_empty(&self) -> bool { ... }
fn get(&self, index: u64) -> Option<T> { ... }
fn getx(&self, index: u64, count: u64) -> Option<Vec<T>> { ... }
fn getall(&self) -> Option<Vec<T>> { ... }
}
Required Methods§
fn new( structural_repository: String, dynamic_repository: String, initial_file_size: u64, ) -> Self
fn push(&self, obj: T)
fn pushx(&self, objs: Vec<T>)
fn pull(&self, index: u64) -> T
fn pullx(&self, index: u64, count: u64) -> Vec<T>
fn len(&self) -> usize
Provided Methods§
fn is_empty(&self) -> bool
fn get(&self, index: u64) -> Option<T>
fn getx(&self, index: u64, count: u64) -> Option<Vec<T>>
fn getall(&self) -> Option<Vec<T>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.