pub struct HeadImpl {
pub vector_type: TypeId,
pub scalar_type: TypeId,
}Expand description
Implementation of a “get the first element of a vector” FuncImpl for the given vector
and scalar types.
Fields§
§vector_type: TypeId§scalar_type: TypeIdTrait Implementations§
Source§impl FuncImpl for HeadImpl
impl FuncImpl for HeadImpl
Source§fn evaluate(
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>,
) -> (TermReference, NewlyEvaluatedTerms)
fn evaluate( &self, _state: &mut InterpreterState<'_>, args: Vec<TermReference>, ) -> (TermReference, NewlyEvaluatedTerms)
Given a handle on the current
InterpreterState (primarily useful if additional terms
need to be evaluated / looked up) and the collection of TermReference arguments to
apply this function implementation to, yields a TermReference to the result, along
with a collection of any NewlyEvaluatedTerms which may have arisen as part of the
implementation of this method. See func_impl.rs in the source for sample implementations.Source§impl HasFuncSignature for HeadImpl
impl HasFuncSignature for HeadImpl
Source§fn required_arg_types(&self) -> Vec<TypeId> ⓘ
fn required_arg_types(&self) -> Vec<TypeId> ⓘ
Gets the list of required argument types for the implemented function.
Source§fn ready_to_evaluate(&self, args: &Vec<TermReference>) -> bool
fn ready_to_evaluate(&self, args: &Vec<TermReference>) -> bool
Given a collection of
TermReferences, determines whether
we have sufficiently-many arguments to fully evaluate this function.Source§fn func_type(&self, type_info_directory: &TypeInfoDirectory) -> TypeId
fn func_type(&self, type_info_directory: &TypeInfoDirectory) -> TypeId
Given a
TypeInfoDirectory, obtains the TypeId which
corresponds to the type of this implemented function.Auto Trait Implementations§
impl Freeze for HeadImpl
impl RefUnwindSafe for HeadImpl
impl Send for HeadImpl
impl Sync for HeadImpl
impl Unpin for HeadImpl
impl UnwindSafe for HeadImpl
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