13 #ifndef BERRYEXPRESSION_H_
14 #define BERRYEXPRESSION_H_
65 mutable uint fHashCode;
82 static bool Equals(
const QList<Expression::Pointer>& leftArray,
83 const QList<Expression::Pointer>& rightArray);
85 static bool Equals(
const QList<Object::Pointer>& leftArray,
86 const QList<Object::Pointer>& rightArray);
109 static uint
HashCode(
const QList<Expression::Pointer>& array);
111 static uint
HashCode(
const QList<Object::Pointer>& array);
static const SmartPointer< const EvaluationResult > TRUE_EVAL
static const SmartPointer< const EvaluationResult > FALSE_EVAL
static uint HashCode(const QList< Object::Pointer > &array)
static uint HashCode(Expression::Pointer object)
static bool Equals(const QList< Expression::Pointer > &leftArray, const QList< Expression::Pointer > &rightArray)
static const uint HASH_CODE_NOT_COMPUTED
virtual uint ComputeHashCode() const
bool operator==(const Object *object) const override
static uint HashCode(const QList< Expression::Pointer > &array)
static const uint HASH_FACTOR
static const Expression::Pointer TRUE_EVAL
virtual const ExpressionInfo * ComputeExpressionInfo() const
virtual void CollectExpressionInfo(ExpressionInfo *info) const
QString ToString() const override
static bool Equals(const QList< Object::Pointer > &leftArray, const QList< Object::Pointer > &rightArray)
static const QString ATT_VALUE
static const Expression::Pointer FALSE_EVAL
virtual SmartPointer< const EvaluationResult > Evaluate(IEvaluationContext *context) const =0
berryObjectMacro(Expression)
uint HashCode() const override
SmartPointer< const EvaluationResult > Evaluate(IEvaluationContext *) const override
void CollectExpressionInfo(ExpressionInfo *) const override
Light weight base class for most BlueBerry classes.
Implements transparent reference counting.
void CollectExpressionInfo(ExpressionInfo *) const override
SmartPointer< const EvaluationResult > Evaluate(IEvaluationContext *) const override
#define BERRY_EXPRESSIONS