46 #ifndef VALUE_SEM_LIST_H 47 #define VALUE_SEM_LIST_H 49 #define nihil (VDKValueItem<T>*) 0 68 VDKValueItem(
const T& data): data(data),next(nihil),prev(nihil)
108 void add(
const T& t);
112 void push(
const T& t);
117 int insert(
const T& t,
bool unique =
false);
125 T& operator[](
int n);
139 bool unlink(
int ndx);
192 head(l.head),tail(l.tail),p(l.head) {}
224 operator int() {
return p != nihil; }
316 return fetch(n)->data;
325 for(; p && !(p->data == t); p = p->next);
326 return p ? &(p->data): (T*) 0;
335 for(; p && !(p->data == x);p = p->next,t++) ;
347 x->prev->next = x->next;
351 x->next->prev = x->prev;
378 for(p = head; p && (t<n); t++, p = p->next);
388 if(! head) head = tail = i;
389 else { tail->next = i; i->prev = tail; tail = i; }
399 if(! head) head = tail = i;
400 else { head->prev = i; i->next = head; head = i; }
414 for(p = head,t=0; p && (p->data < i->data); p = p->next,t++);
416 if(unique && p && (p->data == i->data))
virtual ~VDKValueListIterator()
Definition: value_sem_list.h:196
void first()
Definition: value_sem_list.h:216
virtual ~VDKValueList()
Definition: value_sem_list.h:263
void push(const T &t)
Definition: value_sem_list.h:296
all properties private.
Definition: value_sem_list.h:62
void flush()
Definition: value_sem_list.h:271
void operator++(int)
Definition: value_sem_list.h:204
void operator++()
Definition: value_sem_list.h:200
void restart()
Definition: value_sem_list.h:232
int at(T &t)
Definition: value_sem_list.h:332
void add(const T &t)
Definition: value_sem_list.h:288
VDKValueListIterator(const VDKValueList< T > &l)
Definition: value_sem_list.h:191
T & operator[](int n)
Definition: value_sem_list.h:313
VDKValueListIterator()
Definition: value_sem_list.h:186
T * find(T &t)
Definition: value_sem_list.h:322
int insert(const T &t, bool unique=false)
Definition: value_sem_list.h:304
provides a templatized double-linked list
Definition: value_sem_list.h:54
VDKValueList< T > & operator=(const VDKValueList< T > &l)
Definition: value_sem_list.h:250
void last()
Definition: value_sem_list.h:220
VDKValueList()
Definition: value_sem_list.h:92
T & current()
Definition: value_sem_list.h:228
void operator--()
Definition: value_sem_list.h:208
provides a VDKValueList iterator
Definition: value_sem_list.h:55
int size()
Definition: value_sem_list.h:134
void operator--(int)
Definition: value_sem_list.h:212
bool unlink(int ndx)
Definition: value_sem_list.h:342