#include "variant_op.h"
VariantEvaluatorFunction;
static Variant::Type operator_return_type_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX];
static VariantEvaluatorFunction operator_evaluator_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX];
static Variant::ValidatedOperatorEvaluator validated_operator_evaluator_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX];
static Variant::PTROperatorEvaluator ptr_operator_evaluator_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX];
template <typename T>
void register_op(Variant::Operator p_op, Variant::Type p_type_a, Variant::Type p_type_b) { … }
template <>
class OperatorEvaluatorMul<Vector2, Vector2i, double> { … };
template <>
class OperatorEvaluatorMul<Vector2, double, Vector2i> { … };
template <>
class OperatorEvaluatorDivNZ<Vector2, Vector2i, double> { … };
template <>
class OperatorEvaluatorMul<Vector3, Vector3i, double> { … };
template <>
class OperatorEvaluatorMul<Vector3, double, Vector3i> { … };
template <>
class OperatorEvaluatorDivNZ<Vector3, Vector3i, double> { … };
template <>
class OperatorEvaluatorMul<Vector4, Vector4i, double> { … };
template <>
class OperatorEvaluatorMul<Vector4, double, Vector4i> { … };
template <>
class OperatorEvaluatorDivNZ<Vector4, Vector4i, double> { … };
#define register_string_op …
#define register_string_modulo_op …
void Variant::_register_variant_operators() { … }
#undef register_string_op
#undef register_string_modulo_op
void Variant::_unregister_variant_operators() { … }
void Variant::evaluate(const Operator &p_op, const Variant &p_a,
const Variant &p_b, Variant &r_ret, bool &r_valid) { … }
Variant::Type Variant::get_operator_return_type(Operator p_operator, Type p_type_a, Type p_type_b) { … }
Variant::ValidatedOperatorEvaluator Variant::get_validated_operator_evaluator(Operator p_operator, Type p_type_a, Type p_type_b) { … }
Variant::PTROperatorEvaluator Variant::get_ptr_operator_evaluator(Operator p_operator, Type p_type_a, Type p_type_b) { … }
static const char *_op_names[Variant::OP_MAX] = …;
String Variant::get_operator_name(Operator p_op) { … }
operator bool()
bool Variant::booleanize() const { … }
bool Variant::in(const Variant &p_index, bool *r_valid) const { … }