pub struct EqSort {
pub name: String,
}Fields§
§name: StringTrait Implementations§
Source§impl Sort for EqSort
impl Sort for EqSort
Source§fn column_ty(&self, _backend: &EGraph) -> ColumnTy
fn column_ty(&self, _backend: &EGraph) -> ColumnTy
Returns the backend-specific column type. See
ColumnTy.fn register_type(&self, _backend: &mut EGraph)
fn as_arc_any(self: Arc<Self>) -> Arc<dyn Any + Send + Sync + 'static>
fn is_eq_sort(&self) -> bool
Source§fn value_type(&self) -> Option<TypeId>
fn value_type(&self) -> Option<TypeId>
Return the type id of values that this sort represents. Read more
Source§fn inner_sorts(&self) -> Vec<ArcSort> ⓘ
fn inner_sorts(&self) -> Vec<ArcSort> ⓘ
return the inner sorts if a container sort
remember that containers can contain containers
and this only unfolds one level
fn is_container_sort(&self) -> bool
fn is_eq_container_sort(&self) -> bool
Source§fn serialized_name(
&self,
_container_values: &ContainerValues,
_value: Value,
) -> String
fn serialized_name( &self, _container_values: &ContainerValues, _value: Value, ) -> String
Return the serialized name of the sort Read more
Source§fn inner_values(
&self,
container_values: &ContainerValues,
value: Value,
) -> Vec<(ArcSort, Value)>
fn inner_values( &self, container_values: &ContainerValues, value: Value, ) -> Vec<(ArcSort, Value)>
Return the inner values and sorts.
Only container sort need to implement this method,
fn register_primitives(self: Arc<Self>, eg: &mut EGraph)
Source§fn reconstruct_termdag_container(
&self,
container_values: &ContainerValues,
value: Value,
termdag: &mut TermDag,
element_terms: Vec<Term>,
) -> Term
fn reconstruct_termdag_container( &self, container_values: &ContainerValues, value: Value, termdag: &mut TermDag, element_terms: Vec<Term>, ) -> Term
Reconstruct a container value in a TermDag
Source§fn reconstruct_termdag_base(
&self,
base_values: &BaseValues,
value: Value,
termdag: &mut TermDag,
) -> Term
fn reconstruct_termdag_base( &self, base_values: &BaseValues, value: Value, termdag: &mut TermDag, ) -> Term
Reconstruct a leaf primitive value in a TermDag
Auto Trait Implementations§
impl Freeze for EqSort
impl RefUnwindSafe for EqSort
impl Send for EqSort
impl Sync for EqSort
impl Unpin for EqSort
impl UnwindSafe for EqSort
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
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