diff options
author | unknown <bell@sanja.is.com.ua> | 2003-01-25 13:19:46 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-01-25 13:19:46 +0200 |
commit | fbd882fca6902e5038bef1d25c1afbfad892d09a (patch) | |
tree | 088681536e968628003ae711fd14a8df01b404ac /sql/sql_list.h | |
parent | 433307fafb1bc315a4e92c995f50d052c8d5eb36 (diff) | |
parent | b23541339c389e452b3d643c249afd4e7fb4899f (diff) | |
download | mariadb-git-fbd882fca6902e5038bef1d25c1afbfad892d09a.tar.gz |
merging
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_olap.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Diffstat (limited to 'sql/sql_list.h')
-rw-r--r-- | sql/sql_list.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/sql/sql_list.h b/sql/sql_list.h index 1711a340cae..505ea994d42 100644 --- a/sql/sql_list.h +++ b/sql/sql_list.h @@ -155,12 +155,20 @@ protected: class base_list_iterator { +protected: base_list *list; list_node **el,**prev,*current; + void sublist(base_list &ls, uint elm) + { + ls.first= *el; + ls.last= list->last; + 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(base_list &list_par) + :list(&list_par), el(&list_par.first), prev(0), current(0) {} + inline void *next(void) { prev=el; @@ -220,7 +228,6 @@ public: friend class error_list_iterator; }; - template <class T> class List :public base_list { public: @@ -268,6 +275,10 @@ public: List_iterator_fast(List<T> &a) : base_list_iterator(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, uint el) + { + base_list_iterator::sublist(list, el); + } }; |