OpaqueFact

Trait OpaqueFact 

Source
pub trait OpaqueFact:
    DynHash
    + Send
    + Sync
    + Debug
    + DynClone
    + Downcast {
    // Required methods
    fn same_as(&self, other: &dyn OpaqueFact) -> bool;
    fn mem_size(&self) -> TDim;

    // Provided methods
    fn compatible_with(&self, other: &dyn OpaqueFact) -> bool { ... }
    fn clarify_dt_shape(&self) -> Option<(DatumType, &[usize])> { ... }
}

Required Methods§

Source

fn same_as(&self, other: &dyn OpaqueFact) -> bool

Source

fn mem_size(&self) -> TDim

Provided Methods§

Source

fn compatible_with(&self, other: &dyn OpaqueFact) -> bool

Whether or not it is acceptable for a Patch to substitute self by other.

In other terms, all operators consuming self MUST accept also accept other without being altered.

Source

fn clarify_dt_shape(&self) -> Option<(DatumType, &[usize])>

Implementations§

Source§

impl dyn OpaqueFact

Source

pub fn is<__T: OpaqueFact>(&self) -> bool

Returns true if the trait object wraps an object of type __T.

Source

pub fn downcast<__T: OpaqueFact>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn’t.

Source

pub fn downcast_rc<__T: OpaqueFact>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn’t.

Source

pub fn downcast_ref<__T: OpaqueFact>(&self) -> Option<&__T>

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source

pub fn downcast_mut<__T: OpaqueFact>(&mut self) -> Option<&mut __T>

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn’t.

Trait Implementations§

Source§

impl<T: OpaqueFact> From<T> for Box<dyn OpaqueFact>

Source§

fn from(v: T) -> Self

Converts to this type from the input type.
Source§

impl<'hash> Hash for dyn OpaqueFact + 'hash

Source§

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

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

impl<'hash> Hash for dyn OpaqueFact + Send + 'hash

Source§

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

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

impl<'hash> Hash for dyn OpaqueFact + Send + Sync + 'hash

Source§

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

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

impl<'hash> Hash for dyn OpaqueFact + Sync + 'hash

Source§

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

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

impl PartialEq for Box<dyn OpaqueFact>

Source§

fn eq(&self, other: &Self) -> 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 Box<dyn OpaqueFact>

Implementors§