diff options
author | Sebastian Geerken <devnull@localhost> | 2013-03-05 14:28:34 +0100 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2013-03-05 14:28:34 +0100 |
commit | 09cbe1a36c6ca2762d2e49f173db7ee4fb683448 (patch) | |
tree | aaf322ad1388f2c8a507d1c6a51779c8dd025f24 /lout/object.cc | |
parent | 98465834b8b0e7c4a563e651a51befd2a2ab06ac (diff) | |
parent | e844f4119a6a5b144b18af4bcc841c816f575159 (diff) |
Merge with main repo.
Diffstat (limited to 'lout/object.cc')
-rw-r--r-- | lout/object.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lout/object.cc b/lout/object.cc index 85a908b9..99b5902d 100644 --- a/lout/object.cc +++ b/lout/object.cc @@ -106,6 +106,30 @@ size_t Object::sizeOf() return sizeof(Object*); } +// ---------------- +// Comparable +// ---------------- + +/** + * \brief This static method may be used as compare function for + * qsort(3) and bsearch(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 // ------------- |