Var

Struct Var 

Source
pub struct Var<O, A> {
    pub state: Rc<RefCell<OpenHypergraph<O, A>>>,
    pub edge_id: EdgeId,
    pub label: O,
}

Fields§

§state: Rc<RefCell<OpenHypergraph<O, A>>>§edge_id: EdgeId§label: O

Implementations§

Source§

impl<O: Clone, A: HasVar> Var<O, A>

Vars can be created when the set of edge labels has a ‘Copy’ operation.

Source

pub fn new( state: Rc<RefCell<OpenHypergraph<O, A>>>, default_node_label: O, ) -> Self

Source

pub fn new_source(&self) -> NodeId

Create a new source node of this Var

Source

pub fn new_target(&self) -> NodeId

Create a new target node of this Var

Trait Implementations§

Source§

impl<O: Clone, A: HasVar + HasAdd<O, A>> Add for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl<O: Clone, A: HasVar + HasBitAnd<O, A>> BitAnd for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
Source§

impl<O: Clone, A: HasVar + HasBitOr<O, A>> BitOr for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
Source§

impl<O: Clone, A: HasVar + HasBitXor<O, A>> BitXor for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<O: Clone, A: Clone> Clone for Var<O, A>

Source§

fn clone(&self) -> Var<O, A>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<O: Debug, A: Debug> Debug for Var<O, A>

Source§

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

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

impl<O: Clone, A: HasVar + HasDiv<O, A>> Div for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Self) -> Self::Output

Performs the / operation. Read more
Source§

impl<O: Clone, A: HasVar + HasMul<O, A>> Mul for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<O: Clone, A: HasVar + HasNeg<O, A>> Neg for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<O: Clone, A: HasVar + HasNot<O, A>> Not for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl<O: Clone, A: HasVar + HasShl<O, A>> Shl for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: Self) -> Self::Output

Performs the << operation. Read more
Source§

impl<O: Clone, A: HasVar + HasShr<O, A>> Shr for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: Self) -> Self::Output

Performs the >> operation. Read more
Source§

impl<O: Clone, A: HasVar + HasSub<O, A>> Sub for Var<O, A>

Source§

type Output = Var<O, A>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more

Auto Trait Implementations§

§

impl<O, A> Freeze for Var<O, A>
where O: Freeze,

§

impl<O, A> !RefUnwindSafe for Var<O, A>

§

impl<O, A> !Send for Var<O, A>

§

impl<O, A> !Sync for Var<O, A>

§

impl<O, A> Unpin for Var<O, A>
where O: Unpin,

§

impl<O, A> !UnwindSafe for Var<O, A>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.