diff options
author | timour@mysql.com <> | 2005-11-28 21:57:50 +0200 |
---|---|---|
committer | timour@mysql.com <> | 2005-11-28 21:57:50 +0200 |
commit | cc7d1268c43a2441843b854f70be194ab37ff5a7 (patch) | |
tree | e240ac23234a12c571460f2d81c1fa3ad1bfb391 /sql/sql_list.h | |
parent | f5804869e376e7214817a5ccd23737ec9f46f0d0 (diff) | |
download | mariadb-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.h | 19 |
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) |