Macro

Trait Macro 

Source
pub trait Macro: Send + Sync {
    // Required methods
    fn name(&self) -> &[u8] ;
    fn description(&self) -> &str;
    fn source(&self) -> &[u8] ;
    fn eval<'arg, 'reg: 'arg, 'exec: 'reg>(
        &self,
        exec: &'exec Executor,
        vars: &'reg mut VariableRegistry,
        rng: &mut Xoshiro128PlusPlus,
        args: &mut dyn Iterator<Item = &'arg [u8]>,
    ) -> Result<Cow<'static, [u8]>, MacroError>;
    fn clone(&self) -> Box<dyn Macro>;
}
Expand description

Defines a struct as a macro.

Required Methods§

Source

fn name(&self) -> &[u8]

The macro’s defined name.

Source

fn description(&self) -> &str

The macro’s description.

Source

fn source(&self) -> &[u8]

The macro’s source code.

Source

fn eval<'arg, 'reg: 'arg, 'exec: 'reg>( &self, exec: &'exec Executor, vars: &'reg mut VariableRegistry, rng: &mut Xoshiro128PlusPlus, args: &mut dyn Iterator<Item = &'arg [u8]>, ) -> Result<Cow<'static, [u8]>, MacroError>

Evaluates the macro.

Source

fn clone(&self) -> Box<dyn Macro>

Clones this macro into a box;

Implementors§

Source§

impl Macro for Add

Source§

impl Macro for And

Source§

impl Macro for Argslice

Source§

impl Macro for Assert

Source§

impl Macro for BSlice

Source§

impl Macro for Base64Decode

Source§

impl Macro for Base64Encode

Source§

impl Macro for Bin

Source§

impl Macro for Byte

Source§

impl Macro for ByteGet

Source§

impl Macro for ByteLength

Source§

impl Macro for ByteSet

Source§

impl Macro for ByteSplice

Source§

impl Macro for Char

Source§

impl Macro for Compare

Source§

impl Macro for Concat

Source§

impl Macro for Count

Source§

impl Macro for Discard

Source§

impl Macro for Divide

Source§

impl Macro for Drop

Source§

impl Macro for Equal

Source§

impl Macro for Error

Source§

impl Macro for Find

Source§

impl Macro for For

Source§

impl Macro for Get

Source§

impl Macro for Greater

Source§

impl Macro for Hash

Source§

impl Macro for Hex

Source§

impl Macro for If

Source§

impl Macro for Imaginary

Source§

impl Macro for Int

Source§

impl Macro for IsMacro

Source§

impl Macro for IsNumber

Source§

impl Macro for IsStored

Source§

impl Macro for Join

Source§

impl Macro for Length

Source§

impl Macro for Less

Source§

impl Macro for Load

Source§

impl Macro for Log

Source§

impl Macro for Lower

Source§

impl Macro for Modulus

Source§

impl Macro for Multiply

Source§

impl Macro for Not

Source§

impl Macro for NumEqual

Source§

impl Macro for Oct

Source§

impl Macro for Or

Source§

impl Macro for Ord

Source§

impl Macro for Pow

Source§

impl Macro for Random

Source§

impl Macro for Real

Source§

impl Macro for Repeat

Source§

impl Macro for Replace

Source§

impl Macro for SReplace

Source§

impl Macro for Sequence

Source§

impl Macro for Shuffle

Source§

impl Macro for Slice

Source§

impl Macro for Split

Source§

impl Macro for Step

Source§

impl Macro for Store

Source§

impl Macro for Subtract

Source§

impl Macro for Title

Source§

impl Macro for ToBoolean

Source§

impl Macro for ToFloat

Source§

impl Macro for UReplace

Source§

impl Macro for Unescape

Source§

impl Macro for UnixTime

Source§

impl Macro for Upper

Source§

impl Macro for Utf8

Source§

impl Macro for ZlibCompress

Source§

impl Macro for ZlibDecompress

Source§

impl Macro for TextMacro