18 #include <Poco/Hash.h>
41 const QList<Expression::Pointer>& rightArray)
43 return (leftArray == rightArray);
47 const QList<Object::Pointer>& rightArray)
49 return (leftArray == rightArray);
55 return object != 0 ?
object->HashCode() : 0;
61 if (array.size() == 0)
65 uint hashCode =
qHash(
"QList<Expression::Pointer>");
66 for (
int i= 0; i < array.size(); i++)
80 int hashCode = (int) Poco::hash(
"std::vector<Object::Pointer>");
81 for (
int i= 0; i < array.size(); i++)
83 hashCode = hashCode + (int) array[i]->
HashCode();
121 if (
const Expression* other = dynamic_cast<const Expression*>(
object))
122 return this->
HashCode() == other->HashCode();
129 return typeid(
this).name();
Light weight base class for most BlueBerry classes.
virtual bool operator==(const Object *object) const override
virtual uint ComputeHashCode() const
virtual QString ToString() const override
static const uint HASH_CODE_NOT_COMPUTED
static void info(const char *fmt,...)
virtual const ExpressionInfo * ComputeExpressionInfo() const
berry::SmartPointer< Self > Pointer
virtual void CollectExpressionInfo(ExpressionInfo *info) const
void AddMisBehavingExpressionType(const std::type_info &clazz)
static const QString ATT_VALUE
static const Expression::Pointer FALSE_EVAL
static const uint HASH_FACTOR
static bool Equals(const QList< Expression::Pointer > &leftArray, const QList< Expression::Pointer > &rightArray)
static const Expression::Pointer TRUE_EVAL
virtual uint HashCode() const override
uint qHash(const berry::Object &o)