aboutsummaryrefslogtreecommitdiff
path: root/lout/object.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lout/object.cc')
-rw-r--r--lout/object.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/lout/object.cc b/lout/object.cc
index 85a908b9..059564c0 100644
--- a/lout/object.cc
+++ b/lout/object.cc
@@ -106,6 +106,29 @@ size_t Object::sizeOf()
return sizeof(Object*);
}
+// ----------------
+// Comparable
+// ----------------
+
+/**
+ * \brief This static method may be used as compare function for qsort(3), for
+ * an array of Object* (Object*[] or Object**).
+ */
+int Comparable::compareFun(const void *p1, const void *p2)
+{
+ Comparable *c1 = *(Comparable**)p1;
+ Comparable *c2 = *(Comparable**)p2;
+
+ if (c1 && c2)
+ return ((c1)->compareTo(c2));
+ else if (c1)
+ return 1;
+ else if (c2)
+ return -1;
+ else
+ return 0;
+}
+
// -------------
// Pointer
// -------------