pub struct BasicVarManager { /* private fields */ }
Expand description

Simple counter variable manager

Implementations§

source§

impl BasicVarManager

source

pub fn from_next_free(next_var: Var) -> BasicVarManager

Creates a new variable manager from a next free variable

Trait Implementations§

source§

impl Clone for BasicVarManager

source§

fn clone(&self) -> BasicVarManager

Returns a copy 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 Debug for BasicVarManager

source§

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

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

impl Default for BasicVarManager

source§

fn default() -> Self

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

impl ManageVars for BasicVarManager

source§

fn new_var(&mut self) -> Var

Uses up the next free variable
source§

fn max_var(&self) -> Option<Var>

Gets the used variable with the highest index
source§

fn increase_next_free(&mut self, v: Var) -> bool

Increases the next free variable index if the provided variable has a higher index than the next variable in the manager. Returns true if the next free index has been increased and false otherwise.
source§

fn combine(&mut self, other: Self)

Combines two variable managers. In case an object is in both object maps, the one of other has precedence.
source§

fn n_used(&self) -> u32

Gets the number of used variables. Typically this is just the index of the next free variable.
source§

fn forget_from(&mut self, min_var: Var)

Forget variables >= min_var
source§

fn mark_used(&mut self, v: Var) -> bool

Marks variables up to the given one as used. Returns true if the next free index has been increased and false otherwise.
source§

impl PartialEq for BasicVarManager

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for BasicVarManager

source§

impl StructuralEq for BasicVarManager

source§

impl StructuralPartialEq for BasicVarManager

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.