5 #include <miniscript/miniscript/MiniScript.h>
13 using miniscript::miniscript::MiniScript;
27 void copyScriptVariable(MiniScript::ScriptVariable& to,
const MiniScript::ScriptVariable& from)
const override;
28 bool mul(MiniScript* miniScript,
const span<MiniScript::ScriptVariable>& argumentValues, MiniScript::ScriptVariable& returnValue,
const MiniScript::ScriptStatement& statement)
const override;
29 bool div(MiniScript* miniScript,
const span<MiniScript::ScriptVariable>& argumentValues, MiniScript::ScriptVariable& returnValue,
const MiniScript::ScriptStatement& statement)
const override;
30 bool add(MiniScript* miniScript,
const span<MiniScript::ScriptVariable>& argumentValues, MiniScript::ScriptVariable& returnValue,
const MiniScript::ScriptStatement& statement)
const override;
31 bool sub(MiniScript* miniScript,
const span<MiniScript::ScriptVariable>& argumentValues, MiniScript::ScriptVariable& returnValue,
const MiniScript::ScriptStatement& statement)
const override;
46 static inline bool getTransformValue(MiniScript::ScriptVariableType TYPE_TRANSFORM,
const span<MiniScript::ScriptVariable>& arguments,
int idx,
Transform& value,
bool optional =
false) {
47 if (idx >= arguments.size())
return optional;
48 const auto& argument = arguments[idx];
49 if (argument.getType() == TYPE_TRANSFORM) {
50 if (argument.getValuePtr() == 0ll)
return optional;
51 value = *
static_cast<Transform*
>((
void*)argument.getValuePtr());
71 const string getValueAsString(
const MiniScript::ScriptVariable& variable)
const override;
#define FORBID_CLASS_COPY(CLASS)