pub struct MapImpl {
pub scalar_type: TypeId,
pub unary_scalar_func_type: TypeId,
pub vector_type: TypeId,
}Expand description
Implementation of a “map this scalar function over every element of a vector”
FuncImpl for the given scalar type, scalar function type, and vector type.
Fields§
§scalar_type: TypeId§unary_scalar_func_type: TypeId§vector_type: TypeIdTrait Implementations§
Source§impl FuncImpl for MapImpl
impl FuncImpl for MapImpl
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 MapImpl
impl HasFuncSignature for MapImpl
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 MapImpl
impl RefUnwindSafe for MapImpl
impl Send for MapImpl
impl Sync for MapImpl
impl Unpin for MapImpl
impl UnwindSafe for MapImpl
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