pub struct VamanaNode {
pub id: NodeId,
pub vector_id: VectorId,
pub neighbors: Vec<NodeId>,
pub max_degree: usize,
}Expand description
A node in the Vamana graph
Fields§
§id: NodeIdNode ID (internal)
vector_id: VectorIdVector ID (external)
neighbors: Vec<NodeId>List of neighbor node IDs
max_degree: usizeMaximum degree for this node
Implementations§
Source§impl VamanaNode
impl VamanaNode
Sourcepub fn new(id: NodeId, vector_id: VectorId, max_degree: usize) -> Self
pub fn new(id: NodeId, vector_id: VectorId, max_degree: usize) -> Self
Create a new Vamana node
Sourcepub fn add_neighbor(&mut self, neighbor_id: NodeId) -> bool
pub fn add_neighbor(&mut self, neighbor_id: NodeId) -> bool
Add a neighbor if not already present
Sourcepub fn remove_neighbor(&mut self, neighbor_id: NodeId) -> bool
pub fn remove_neighbor(&mut self, neighbor_id: NodeId) -> bool
Remove a neighbor
Sourcepub fn set_neighbors(&mut self, neighbors: Vec<NodeId>)
pub fn set_neighbors(&mut self, neighbors: Vec<NodeId>)
Replace neighbors with pruned set
Trait Implementations§
Source§impl Clone for VamanaNode
impl Clone for VamanaNode
Source§fn clone(&self) -> VamanaNode
fn clone(&self) -> VamanaNode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VamanaNode
impl Debug for VamanaNode
Source§impl Decode for VamanaNode
impl Decode for VamanaNode
Source§impl<'de> Deserialize<'de> for VamanaNode
impl<'de> Deserialize<'de> for VamanaNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encode for VamanaNode
impl Encode for VamanaNode
Auto Trait Implementations§
impl Freeze for VamanaNode
impl RefUnwindSafe for VamanaNode
impl Send for VamanaNode
impl Sync for VamanaNode
impl Unpin for VamanaNode
impl UnwindSafe for VamanaNode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.