pub struct DenseAdjacencyListStorage { /* private fields */ }
Implementations§
source§impl DenseAdjacencyListStorage
impl DenseAdjacencyListStorage
pub fn new() -> DenseAdjacencyListStorage
Trait Implementations§
source§impl Clone for DenseAdjacencyListStorage
impl Clone for DenseAdjacencyListStorage
source§fn clone(&self) -> DenseAdjacencyListStorage
fn clone(&self) -> DenseAdjacencyListStorage
Returns a copy 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 Default for DenseAdjacencyListStorage
impl Default for DenseAdjacencyListStorage
source§impl<'de> Deserialize<'de> for DenseAdjacencyListStorage
impl<'de> Deserialize<'de> for DenseAdjacencyListStorage
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 EdgeContainer for DenseAdjacencyListStorage
impl EdgeContainer for DenseAdjacencyListStorage
source§fn get_outgoing_edges<'a>(
&'a self,
node: NodeID
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn get_outgoing_edges<'a>( &'a self, node: NodeID ) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
Get all outgoing edges for a given node
.
source§fn source_nodes<'a>(&'a self) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn source_nodes<'a>(&'a self) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
Provides an iterator over all nodes of this edge container that are the source an edge
source§fn get_ingoing_edges<'a>(
&'a self,
node: NodeID
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn get_ingoing_edges<'a>( &'a self, node: NodeID ) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
Get all incoming edges for a given
node
.fn get_statistics(&self) -> Option<&GraphStatistic>
source§fn has_outgoing_edges(&self, node: NodeID) -> Result<bool>
fn has_outgoing_edges(&self, node: NodeID) -> Result<bool>
Return true of the given node has any outgoing edges.
source§impl GraphStorage for DenseAdjacencyListStorage
impl GraphStorage for DenseAdjacencyListStorage
source§fn serialization_id(&self) -> String
fn serialization_id(&self) -> String
Return an identifier for this graph storage which is used to distinguish the different graph storages when (de-) serialized.
source§fn find_connected<'a>(
&'a self,
node: NodeID,
min_distance: usize,
max_distance: Bound<usize>
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn find_connected<'a>( &'a self, node: NodeID, min_distance: usize, max_distance: Bound<usize> ) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
Find all nodes reachable from a given start node inside the component.
source§fn find_connected_inverse<'a>(
&'a self,
node: NodeID,
min_distance: usize,
max_distance: Bound<usize>
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn find_connected_inverse<'a>( &'a self, node: NodeID, min_distance: usize, max_distance: Bound<usize> ) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
Find all nodes reachable from a given start node inside the component, when the directed edges are inversed.
source§fn distance(&self, source: NodeID, target: NodeID) -> Result<Option<usize>>
fn distance(&self, source: NodeID, target: NodeID) -> Result<Option<usize>>
Compute the distance (shortest path length) of two nodes inside this component.
source§fn is_connected(
&self,
source: NodeID,
target: NodeID,
min_distance: usize,
max_distance: Bound<usize>
) -> Result<bool>
fn is_connected( &self, source: NodeID, target: NodeID, min_distance: usize, max_distance: Bound<usize> ) -> Result<bool>
Check if two nodes are connected with any path in this component given a minimum (
min_distance
) and maximum (max_distance
) path length.source§fn get_anno_storage(&self) -> &dyn EdgeAnnotationStorage
fn get_anno_storage(&self) -> &dyn EdgeAnnotationStorage
Get the annotation storage for the edges of this graph storage.
source§fn copy(
&mut self,
node_annos: &dyn NodeAnnotationStorage,
orig: &dyn GraphStorage
) -> Result<()>
fn copy( &mut self, node_annos: &dyn NodeAnnotationStorage, orig: &dyn GraphStorage ) -> Result<()>
Copy the content of another component.
This removes the existing content of this graph storage.
source§fn as_edgecontainer(&self) -> &dyn EdgeContainer
fn as_edgecontainer(&self) -> &dyn EdgeContainer
Upcast this graph storage to the EdgeContainer trait.
source§fn inverse_has_same_cost(&self) -> bool
fn inverse_has_same_cost(&self) -> bool
If true, finding the inverse connected nodes via find_connected_inverse(…) has the same cost as the non-inverse case.
source§fn load_from(location: &Path) -> Result<Self>where
for<'de> Self: Sized + Deserialize<'de>,
fn load_from(location: &Path) -> Result<Self>where
for<'de> Self: Sized + Deserialize<'de>,
Load the graph storage from a
location
on the disk. This location is a directory, which can contain files specific to this graph storage.source§fn save_to(&self, location: &Path) -> Result<()>
fn save_to(&self, location: &Path) -> Result<()>
Save the graph storage a
location
on the disk. This location must point to an existing directory.source§fn as_writeable(&mut self) -> Option<&mut dyn WriteableGraphStorage>
fn as_writeable(&mut self) -> Option<&mut dyn WriteableGraphStorage>
Try to downcast this graph storage to a WriteableGraphStorage trait.
Returns
None
if this graph storage is not writable.Auto Trait Implementations§
impl Freeze for DenseAdjacencyListStorage
impl RefUnwindSafe for DenseAdjacencyListStorage
impl Send for DenseAdjacencyListStorage
impl Sync for DenseAdjacencyListStorage
impl Unpin for DenseAdjacencyListStorage
impl UnwindSafe for DenseAdjacencyListStorage
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> 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 more