pub struct ExceptionGraphView<R> {
pub edges: Vec<ExceptionGraphEdge<R>>,
pub truncated: bool,
}Expand description
Terminating graph projection with explicit loss reporting.
Fields§
§edges: Vec<ExceptionGraphEdge<R>>Relations in deterministic parent-discovery and edge-id order.
truncated: boolTrue when at least one relation was omitted by the edge budget.
Implementations§
Source§impl<R> ExceptionGraphView<R>where
R: Clone,
impl<R> ExceptionGraphView<R>where
R: Clone,
Sourcepub fn project<P>(
arena: &ManagedArena<ManagedException<P, R>>,
root: ManagedHandle,
budget: ExceptionGraphBudget,
) -> Result<ExceptionGraphView<R>, ArenaError>
pub fn project<P>( arena: &ManagedArena<ManagedException<P, R>>, root: ManagedHandle, budget: ExceptionGraphBudget, ) -> Result<ExceptionGraphView<R>, ArenaError>
Projects reachable relations iteratively, expanding each object once.
Every parent edge remains a row even when multiple parents target the same object. The expanded set only prevents cycles from recurring.
Trait Implementations§
Source§impl<R> Clone for ExceptionGraphView<R>where
R: Clone,
impl<R> Clone for ExceptionGraphView<R>where
R: Clone,
Source§fn clone(&self) -> ExceptionGraphView<R>
fn clone(&self) -> ExceptionGraphView<R>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<R> Debug for ExceptionGraphView<R>where
R: Debug,
impl<R> Debug for ExceptionGraphView<R>where
R: Debug,
impl<R> Eq for ExceptionGraphView<R>where
R: Eq,
Source§impl<R> PartialEq for ExceptionGraphView<R>where
R: PartialEq,
impl<R> PartialEq for ExceptionGraphView<R>where
R: PartialEq,
impl<R> StructuralPartialEq for ExceptionGraphView<R>where
R: PartialEq,
Auto Trait Implementations§
impl<R> Freeze for ExceptionGraphView<R>
impl<R> RefUnwindSafe for ExceptionGraphView<R>where
R: RefUnwindSafe,
impl<R> Send for ExceptionGraphView<R>where
R: Send,
impl<R> Sync for ExceptionGraphView<R>where
R: Sync,
impl<R> Unpin for ExceptionGraphView<R>where
R: Unpin,
impl<R> UnsafeUnpin for ExceptionGraphView<R>
impl<R> UnwindSafe for ExceptionGraphView<R>where
R: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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