Skip to main content

DummyEdge

Struct DummyEdge 

Source
pub struct DummyEdge(/* private fields */);
Expand description

Simple dummy edge implementation based on Arc

The implementation is very limited but perfectly fine to test e.g. an apply cache.

Implementations§

Source§

impl DummyEdge

Source

pub fn new() -> Self

Create a new DummyEdge

Source

pub fn ref_count(&self) -> usize

Get the node’s reference count (note: Node::ref_count() is unimplemented)

Trait Implementations§

Source§

impl Debug for DummyEdge

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for DummyEdge

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl DiagramRules<DummyEdge, DummyNode, ()> for DummyRules

Source§

type Cofactors<'a> = Empty<Borrowed<'a, DummyEdge>>

Iterator created by DiagramRules::cofactors()
Source§

fn reduce<M>( _manager: &M, _level: LevelNo, _children: impl IntoIterator<Item = DummyEdge>, ) -> ReducedOrNew<DummyEdge, DummyNode>
where M: Manager<Edge = DummyEdge, InnerNode = DummyNode>,

Apply the reduction rule(s) Read more
Source§

fn cofactors(_tag: (), _node: &DummyNode) -> Self::Cofactors<'_>

Get the cofactors of node assuming an incoming edge with tag Read more
Source§

fn cofactor(tag: <E as Edge>::Tag, node: &N, n: usize) -> Borrowed<'_, E>

Get the n-th cofactor of node assuming an incoming edge with tag Read more
Source§

impl Drop for DummyEdge

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl DropWith<DummyEdge> for DummyNode

Source§

fn drop_with(self, _drop_edge: impl Fn(DummyEdge))

Drop self Read more
Source§

fn drop_with_manager<M>(self, manager: &M)
where M: Manager<Edge = E>,

Drop self Read more
Source§

impl Edge for DummyEdge

Source§

type Tag = ()

Edge tag Read more
Source§

fn borrowed(&self) -> Borrowed<'_, Self>

Turn a reference into a borrowed handle
Source§

fn with_tag(&self, _tag: ()) -> Borrowed<'_, Self>

Get a version of this Edge with the given tag Read more
Source§

fn with_tag_owned(self, _tag: ()) -> Self

Get a version of this Edge with the given tag
Source§

fn tag(&self) -> Self::Tag

Get the Tag of this Edge
Source§

fn node_id(&self) -> NodeID

Returns some unique identifier for the node, e.g. for I/O purposes
Source§

impl Eq for DummyEdge

Source§

impl Hash for DummyEdge

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl InnerNode<DummyEdge> for DummyNode

Source§

const ARITY: usize = 0

The node’s arity (upper bound)
Source§

type ChildrenIter<'a> = Empty<Borrowed<'a, DummyEdge>> where Self: 'a

Iterator over children of an inner node
Source§

fn new(_level: LevelNo, _children: impl IntoIterator<Item = DummyEdge>) -> Self

Create a new node Read more
Source§

fn check_level(&self, _check: impl FnOnce(LevelNo) -> bool) -> bool

Returns the result of check applied to the node’s level in case this node type stores levels, otherwise returns true. Read more
Source§

fn assert_level_matches(&self, _level: LevelNo)

Panics if the node types stores a level and the node’s level is not level
Source§

fn children(&self) -> Self::ChildrenIter<'_>

Get the children of this node as an iterator
Source§

fn child(&self, _n: usize) -> Borrowed<'_, DummyEdge>

Get the n-th child of this node
Source§

unsafe fn set_child(&self, _n: usize, _child: DummyEdge) -> DummyEdge

Set the n-th child of this node Read more
Source§

fn ref_count(&self) -> usize

Get the node’s reference count Read more
Source§

impl LevelView<DummyEdge, DummyNode> for DummyLevelView

Source§

type Iterator<'a> = Empty<&'a DummyEdge> where Self: 'a, DummyEdge: 'a

Iterator over Edges pointing to nodes at this level
Source§

type Taken = DummyLevelView

Taken level view, see LevelView::take()
Source§

fn len(&self) -> usize

Get the number of nodes on this level
Source§

fn level_no(&self) -> LevelNo

Get the level number of this level
Source§

fn reserve(&mut self, _additional: usize)

Reserve space for additional nodes on this level
Source§

fn get(&self, _node: &DummyNode) -> Option<&DummyEdge>

Get the edge corresponding to the given node (if present)
Source§

fn insert(&mut self, _edge: DummyEdge) -> bool

Insert the given edge into the unique table at this level, assuming that the referenced node is already stored in the associated manager. Read more
Source§

unsafe fn insert_unchecked(&mut self, _edge: DummyEdge) -> bool

Insert the given edge into the unique table at this level, assuming that the referenced node is already stored in the associated manager. Unsafe version of Self::insert(). Read more
Source§

fn get_or_insert(&mut self, _node: DummyNode) -> AllocResult<DummyEdge>

Get the edge corresponding to level and node if present, or insert it. Read more
Source§

unsafe fn get_or_insert_unchecked( &mut self, _node: DummyNode, ) -> AllocResult<DummyEdge>

Get the edge corresponding to level and node if present, or insert it. Unsafe version of Self::get_or_insert() Read more
Source§

fn gc(&mut self)

Perform garbage collection on this level Read more
Source§

fn remove(&mut self, _node: &DummyNode) -> bool

Remove node from (this level of) the manager Read more
Source§

unsafe fn swap(&mut self, _other: &mut Self)

Move all nodes from this level to the other level and vice versa. Read more
Source§

fn iter(&self) -> Self::Iterator<'_>

Iterate over all the edges at this level
Source§

fn take(&mut self) -> Option<Self::Taken>

If a reordering operation is in progress: Clear this level, returning a level view containing all the previous edges. Otherwise, this method returns None and leaves self unchanged.
Source§

fn is_empty(&self) -> bool

Returns true iff this level contains nodes
Source§

impl Ord for DummyEdge

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. Read more
Source§

impl PartialEq for DummyEdge

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for DummyEdge

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.