Struct graphannis_core::graph::storage::prepost::PrePostOrderStorage
source · [−]Implementations
Trait Implementations
sourceimpl<OrderT: Clone + NumValue, LevelT: Clone + NumValue> Clone for PrePostOrderStorage<OrderT, LevelT>
impl<OrderT: Clone + NumValue, LevelT: Clone + NumValue> Clone for PrePostOrderStorage<OrderT, LevelT>
sourcefn clone(&self) -> PrePostOrderStorage<OrderT, LevelT>
fn clone(&self) -> PrePostOrderStorage<OrderT, LevelT>
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<OrderT, LevelT> Default for PrePostOrderStorage<OrderT, LevelT> where
OrderT: NumValue,
LevelT: NumValue,
impl<OrderT, LevelT> Default for PrePostOrderStorage<OrderT, LevelT> where
OrderT: NumValue,
LevelT: NumValue,
sourceimpl<'de, OrderT: NumValue, LevelT: NumValue> Deserialize<'de> for PrePostOrderStorage<OrderT, LevelT> where
OrderT: Deserialize<'de>,
LevelT: Deserialize<'de>,
impl<'de, OrderT: NumValue, LevelT: NumValue> Deserialize<'de> for PrePostOrderStorage<OrderT, LevelT> where
OrderT: Deserialize<'de>,
LevelT: 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<OrderT: 'static, LevelT: 'static> EdgeContainer for PrePostOrderStorage<OrderT, LevelT> where
for<'de> OrderT: NumValue + Deserialize<'de> + Serialize,
for<'de> LevelT: NumValue + Deserialize<'de> + Serialize,
impl<OrderT: 'static, LevelT: 'static> EdgeContainer for PrePostOrderStorage<OrderT, LevelT> where
for<'de> OrderT: NumValue + Deserialize<'de> + Serialize,
for<'de> LevelT: NumValue + Deserialize<'de> + Serialize,
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<OrderT: 'static, LevelT: 'static> GraphStorage for PrePostOrderStorage<OrderT, LevelT> where
for<'de> OrderT: NumValue + Deserialize<'de> + Serialize,
for<'de> LevelT: NumValue + Deserialize<'de> + Serialize,
impl<OrderT: 'static, LevelT: 'static> GraphStorage for PrePostOrderStorage<OrderT, LevelT> where
for<'de> OrderT: NumValue + Deserialize<'de> + Serialize,
for<'de> LevelT: 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,
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.
sourcefn find_connected_inverse<'a>(
&'a self,
start_node: NodeID,
min_distance: usize,
max_distance: Bound<usize>
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn find_connected_inverse<'a>(
&'a self,
start_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.
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 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
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.
sourceimpl<OrderT: NumValue, LevelT: NumValue> MallocSizeOf for PrePostOrderStorage<OrderT, LevelT> where
OrderT: MallocSizeOf,
LevelT: MallocSizeOf,
impl<OrderT: NumValue, LevelT: NumValue> MallocSizeOf for PrePostOrderStorage<OrderT, LevelT> where
OrderT: MallocSizeOf,
LevelT: 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<OrderT, LevelT> RefUnwindSafe for PrePostOrderStorage<OrderT, LevelT> where
LevelT: RefUnwindSafe,
OrderT: RefUnwindSafe,
impl<OrderT, LevelT> Send for PrePostOrderStorage<OrderT, LevelT>
impl<OrderT, LevelT> Sync for PrePostOrderStorage<OrderT, LevelT>
impl<OrderT, LevelT> Unpin for PrePostOrderStorage<OrderT, LevelT> where
LevelT: Unpin,
OrderT: Unpin,
impl<OrderT, LevelT> UnwindSafe for PrePostOrderStorage<OrderT, LevelT> where
LevelT: UnwindSafe,
OrderT: 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