ChainedVariableInfo

Struct ChainedVariableInfo 

Source
pub struct ChainedVariableInfo {
    pub anchor_type_id: TypeId,
    pub entity_type_id: TypeId,
    pub has_anchor_shadow: bool,
}
Expand description

Information about a chained variable’s configuration.

Chained variables require knowledge of the anchor type to distinguish between anchor values (chain roots) and entity values (chain members).

Fields§

§anchor_type_id: TypeId

The TypeId of the anchor type (problem fact at chain root).

§entity_type_id: TypeId

The TypeId of the entity type (chain members).

§has_anchor_shadow: bool

Whether this variable has an associated anchor shadow variable.

Implementations§

Source§

impl ChainedVariableInfo

Source

pub fn new<Anchor: 'static, Entity: 'static>() -> Self

Creates new chained variable info.

Source

pub fn with_anchor_shadow<Anchor: 'static, Entity: 'static>() -> Self

Creates new chained variable info with anchor shadow variable.

Source

pub fn is_anchor_type(&self, type_id: TypeId) -> bool

Returns true if the given TypeId is the anchor type.

Source

pub fn is_entity_type(&self, type_id: TypeId) -> bool

Returns true if the given TypeId is the entity type.

Trait Implementations§

Source§

impl Clone for ChainedVariableInfo

Source§

fn clone(&self) -> ChainedVariableInfo

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 Debug for ChainedVariableInfo

Source§

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

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

impl PartialEq for ChainedVariableInfo

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ChainedVariableInfo

Source§

impl StructuralPartialEq for ChainedVariableInfo

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> 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.