14 #include <Poco/Hash.h> 37 const QList<Expression::Pointer>& rightArray)
39 return (leftArray == rightArray);
43 const QList<Object::Pointer>& rightArray)
45 return (leftArray == rightArray);
51 return object != 0 ?
object->HashCode() : 0;
57 if (array.size() == 0)
61 uint hashCode =
qHash(
"QList<Expression::Pointer>");
62 for (
int i= 0; i < array.size(); i++)
76 int hashCode = (int) Poco::hash(
"std::vector<Object::Pointer>");
77 for (
int i= 0; i < array.size(); i++)
79 hashCode = hashCode + (int) array[i]->
HashCode();
117 if (
const Expression* other = dynamic_cast<const Expression*>(
object))
118 return this->
HashCode() == other->HashCode();
125 return typeid(
this).name();
Light weight base class for most BlueBerry classes.
bool operator==(const Object *object) const override
QString ToString() const override
static const uint HASH_CODE_NOT_COMPUTED
static void info(const char *fmt,...)
berry::SmartPointer< Self > Pointer
virtual const ExpressionInfo * ComputeExpressionInfo() const
virtual uint ComputeHashCode() const
void AddMisBehavingExpressionType(const std::type_info &clazz)
static const QString ATT_VALUE
static const Expression::Pointer FALSE_EVAL
virtual void CollectExpressionInfo(ExpressionInfo *info) const
static const uint HASH_FACTOR
static bool Equals(const QList< Expression::Pointer > &leftArray, const QList< Expression::Pointer > &rightArray)
static const Expression::Pointer TRUE_EVAL
uint HashCode() const override
uint qHash(const berry::Object &o)