summaryrefslogtreecommitdiff
path: root/sql/sql_list.h
diff options
context:
space:
mode:
authortimour@mysql.com <>2005-11-28 21:57:50 +0200
committertimour@mysql.com <>2005-11-28 21:57:50 +0200
commitcc7d1268c43a2441843b854f70be194ab37ff5a7 (patch)
treee240ac23234a12c571460f2d81c1fa3ad1bfb391 /sql/sql_list.h
parentf5804869e376e7214817a5ccd23737ec9f46f0d0 (diff)
downloadmariadb-git-cc7d1268c43a2441843b854f70be194ab37ff5a7.tar.gz
WL#2486 - Natural/using join according to SQL:2003.
Post-review fixes according to Monty's review.
Diffstat (limited to 'sql/sql_list.h')
-rw-r--r--sql/sql_list.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/sql/sql_list.h b/sql/sql_list.h
index 285f1d6e501..b2bcc4ea401 100644
--- a/sql/sql_list.h
+++ b/sql/sql_list.h
@@ -266,10 +266,21 @@ protected:
ls.elements= elm;
}
public:
- base_list_iterator(base_list &list_par)
- :list(&list_par), el(&list_par.first), prev(0), current(0)
+ base_list_iterator()
+ :list(0), el(0), prev(0), current(0)
{}
+ base_list_iterator(base_list &list_par)
+ { init(list_par); }
+
+ inline void init(base_list &list_par)
+ {
+ list= &list_par;
+ el= &list_par.first;
+ prev= 0;
+ current= 0;
+ }
+
inline void *next(void)
{
prev=el;
@@ -364,6 +375,8 @@ template <class T> class List_iterator :public base_list_iterator
{
public:
List_iterator(List<T> &a) : base_list_iterator(a) {}
+ List_iterator() : base_list_iterator() {}
+ inline void init(List<T> &a) { base_list_iterator::init(a); }
inline T* operator++(int) { return (T*) base_list_iterator::next(); }
inline T *replace(T *a) { return (T*) base_list_iterator::replace(a); }
inline T *replace(List<T> &a) { return (T*) base_list_iterator::replace(a); }
@@ -385,6 +398,8 @@ protected:
public:
inline List_iterator_fast(List<T> &a) : base_list_iterator(a) {}
+ inline List_iterator_fast() : base_list_iterator() {}
+ inline void init(List<T> &a) { base_list_iterator::init(a); }
inline T* operator++(int) { return (T*) base_list_iterator::next_fast(); }
inline void rewind(void) { base_list_iterator::rewind(); }
void sublist(List<T> &list_arg, uint el_arg)