summaryrefslogtreecommitdiff
path: root/sql/sql_array.h
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-10-18 12:35:22 -0700
committerSergei Golubchik <sergii@pisem.net>2013-10-18 12:35:22 -0700
commit3098b6cf5b8630956ccd854d41480eba81eeb77d (patch)
tree2da4d9f5a2f89163c339d1a32f8e33f964c86662 /sql/sql_array.h
parentb221ec6529129bad5958ab79a44c522fb8cc2545 (diff)
downloadmariadb-git-3098b6cf5b8630956ccd854d41480eba81eeb77d.tar.gz
qsort2, pop, push methods for Dynamic_array<>
Diffstat (limited to 'sql/sql_array.h')
-rw-r--r--sql/sql_array.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/sql_array.h b/sql/sql_array.h
index 18f1fbd9f2f..245cfe954f8 100644
--- a/sql/sql_array.h
+++ b/sql/sql_array.h
@@ -130,6 +130,16 @@ public:
return (insert_dynamic(&array, (uchar*)&el));
}
+ bool push(Elem &el)
+ {
+ return append(el);
+ }
+
+ Elem *pop()
+ {
+ return (Elem*)pop_dynamic(&array);
+ }
+
size_t elements()
{
return array.elements;
@@ -168,6 +178,12 @@ public:
{
my_qsort(array.buffer, array.elements, sizeof(Elem), (qsort_cmp)cmp_func);
}
+
+ typedef int (*CMP_FUNC2)(const Elem *el1, const Elem *el2, void *);
+ void sort(CMP_FUNC2 cmp_func, void *data)
+ {
+ my_qsort2(array.buffer, array.elements, sizeof(Elem), (qsort2_cmp)cmp_func, data);
+ }
};
/*