Struct graphannis_core::graph::storage::linear::LinearGraphStorage
source · [−]pub struct LinearGraphStorage<PosT: NumValue> { /* private fields */ }Implementations
sourceimpl<PosT> LinearGraphStorage<PosT> where
PosT: NumValue,
impl<PosT> LinearGraphStorage<PosT> where
PosT: NumValue,
Trait Implementations
sourceimpl<PosT: Clone + NumValue> Clone for LinearGraphStorage<PosT>
impl<PosT: Clone + NumValue> Clone for LinearGraphStorage<PosT>
sourcefn clone(&self) -> LinearGraphStorage<PosT>
fn clone(&self) -> LinearGraphStorage<PosT>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<PosT> Default for LinearGraphStorage<PosT> where
PosT: NumValue,
impl<PosT> Default for LinearGraphStorage<PosT> where
PosT: NumValue,
sourceimpl<'de, PosT: NumValue> Deserialize<'de> for LinearGraphStorage<PosT> where
PosT: Deserialize<'de>,
impl<'de, PosT: NumValue> Deserialize<'de> for LinearGraphStorage<PosT> where
PosT: Deserialize<'de>,
sourcefn 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
sourceimpl<PosT: 'static> EdgeContainer for LinearGraphStorage<PosT> where
PosT: NumValue,
impl<PosT: 'static> EdgeContainer for LinearGraphStorage<PosT> where
PosT: NumValue,
sourcefn 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.
sourcefn 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.
sourcefn 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 of an edge
fn get_statistics(&self) -> Option<&GraphStatistic>
sourcefn 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.
sourceimpl<PosT: 'static> GraphStorage for LinearGraphStorage<PosT> where
for<'de> PosT: NumValue + Deserialize<'de> + Serialize,
impl<PosT: 'static> GraphStorage for LinearGraphStorage<PosT> where
for<'de> PosT: NumValue + Deserialize<'de> + Serialize,
sourcefn get_anno_storage(&self) -> &dyn AnnotationStorage<Edge>
fn get_anno_storage(&self) -> &dyn AnnotationStorage<Edge>
Get the annotation storage for the edges of this graph storage.
sourcefn 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.
sourcefn 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.
sourcefn 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.
sourcefn find_connected<'a>(
&'a self,
source: NodeID,
min_distance: usize,
max_distance: Bound<usize>
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn find_connected<'a>(
&'a self,
source: 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.
sourcefn find_connected_inverse<'a>(
&'a self,
source: NodeID,
min_distance: usize,
max_distance: Bound<usize>
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn find_connected_inverse<'a>(
&'a self,
source: 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.
sourcefn 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.
sourcefn 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.
sourcefn copy(
&mut self,
node_annos: &dyn AnnotationStorage<NodeID>,
orig: &dyn GraphStorage
) -> Result<()>
fn copy(
&mut self,
node_annos: &dyn AnnotationStorage<NodeID>,
orig: &dyn GraphStorage
) -> Result<()>
Copy the content of another component. This removes the existing content of this graph storage. Read more
sourcefn 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.
sourcefn as_edgecontainer(&self) -> &dyn EdgeContainer
fn as_edgecontainer(&self) -> &dyn EdgeContainer
Upcast this graph storage to the EdgeContainer trait.
sourcefn 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. Read more
sourceimpl<PosT: NumValue> MallocSizeOf for LinearGraphStorage<PosT> where
PosT: MallocSizeOf,
impl<PosT: NumValue> MallocSizeOf for LinearGraphStorage<PosT> where
PosT: MallocSizeOf,
sourcefn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but not the space taken up by the value itself. Read more
Auto Trait Implementations
impl<PosT> RefUnwindSafe for LinearGraphStorage<PosT> where
PosT: RefUnwindSafe,
impl<PosT> Send for LinearGraphStorage<PosT>
impl<PosT> Sync for LinearGraphStorage<PosT>
impl<PosT> Unpin for LinearGraphStorage<PosT> where
PosT: Unpin,
impl<PosT> UnwindSafe for LinearGraphStorage<PosT> where
PosT: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more