pub struct Function {
pub name: &'static str,
pub overloads: Vec<Box<dyn Overload>>,
pub aliases: Vec<&'static str>,
pub method_aliases: Vec<(Type, &'static str)>,
}
Expand description
A GeoScript
function.
Fields§
§name: &'static str
Name of this function.
overloads: Vec<Box<dyn Overload>>
Function’s overloads.
aliases: Vec<&'static str>
Aliases of this function
method_aliases: Vec<(Type, &'static str)>
Method aliases of this function
Implementations§
Source§impl Function
impl Function
Sourcepub fn new(name: &'static str) -> Self
pub fn new(name: &'static str) -> Self
Create a new function with the given name. The name MUST be ascii and lowercase
Sourcepub fn alias_method(self, self_type: Type, name: &'static str) -> Self
pub fn alias_method(self, self_type: Type, name: &'static str) -> Self
Create an alias for this function. For point collections, self_type
length of 0
means any point collection. For numbers, unit of None
means any unit.
Sourcepub fn overload<Marker>(self, f: impl IntoOverload<Marker>) -> Self
pub fn overload<Marker>(self, f: impl IntoOverload<Marker>) -> Self
Add a new overload to this function.
Sourcepub fn get_overload(&self, params: &[AnyExpr]) -> Option<&dyn Overload>
pub fn get_overload(&self, params: &[AnyExpr]) -> Option<&dyn Overload>
Tries to find an overload for the given param types.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Function
impl !RefUnwindSafe for Function
impl !Send for Function
impl !Sync for Function
impl Unpin for Function
impl !UnwindSafe for Function
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> Convert for T
impl<T> Convert for T
Source§fn convert<U>(self, context: &CompileContext) -> Expr<U>where
U: ConvertFrom<T>,
fn convert<U>(self, context: &CompileContext) -> Expr<U>where
U: ConvertFrom<T>,
Convert
self
into a specific type. Read moreSource§fn can_convert<U>(&self) -> boolwhere
U: ConvertFrom<T>,
fn can_convert<U>(&self) -> boolwhere
U: ConvertFrom<T>,
Check if
self
can be converted into a specific type. Read more