EdgeStore

Trait EdgeStore 

Source
pub trait EdgeStore: Index<usize, Output = Edge> + IndexMut<usize, Output = Edge> {
Show 14 methods // Required methods fn create_vertex_entry(&mut self, size: Ci) -> VHandle; fn edges_as_slice(&self, handle: VHandle) -> &[Edge] ; fn edges_as_mut_slice(&mut self, handle: VHandle) -> &mut [Edge] ; fn edges_as_ptr(&self, handle: VHandle) -> FatPtr<Edge>; fn edges_as_mut_ptr(&mut self, handle: VHandle) -> FatPtrMut<Edge>; fn edges_is_empty(&self, handle: VHandle) -> bool; fn edges_len(&self, handle: VHandle) -> usize; fn edges_capacity(&self, handle: VHandle) -> usize; fn edges_index(&self, handle: VHandle) -> usize; fn iter(&self) -> impl Iterator<Item = &Edge>; fn iter_mut(&mut self) -> impl Iterator<Item = &mut Edge>; fn edges_iter(&self, handle: VHandle) -> impl Iterator<Item = &Edge>; fn edges_iter_mut( &mut self, handle: VHandle, ) -> impl Iterator<Item = &mut Edge>; unsafe fn edges_iter_mut_unchecked( &mut self, handle: VHandle, ) -> impl Iterator<Item = &mut Edge>;
}

Required Methods§

Source

fn create_vertex_entry(&mut self, size: Ci) -> VHandle

Source

fn edges_as_slice(&self, handle: VHandle) -> &[Edge]

Source

fn edges_as_mut_slice(&mut self, handle: VHandle) -> &mut [Edge]

Source

fn edges_as_ptr(&self, handle: VHandle) -> FatPtr<Edge>

Source

fn edges_as_mut_ptr(&mut self, handle: VHandle) -> FatPtrMut<Edge>

Source

fn edges_is_empty(&self, handle: VHandle) -> bool

Source

fn edges_len(&self, handle: VHandle) -> usize

Source

fn edges_capacity(&self, handle: VHandle) -> usize

Source

fn edges_index(&self, handle: VHandle) -> usize

Source

fn iter(&self) -> impl Iterator<Item = &Edge>

Source

fn iter_mut(&mut self) -> impl Iterator<Item = &mut Edge>

Source

fn edges_iter(&self, handle: VHandle) -> impl Iterator<Item = &Edge>

Source

fn edges_iter_mut(&mut self, handle: VHandle) -> impl Iterator<Item = &mut Edge>

Source

unsafe fn edges_iter_mut_unchecked( &mut self, handle: VHandle, ) -> impl Iterator<Item = &mut Edge>

Extremely unsafe function. Use when you know what you are doing. Recommended to use if you dynamically want multiple non-overlapping iterators to edges.

§Safety

when using non-overlapping iterators

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.

Implementors§