25template<
typename type>
30 class UListItem<type> *next;
31 class UListItem<type> *prev;
36template<
typename type>
47 void AddHead(type& head);
48 void AddTail(
const type& tail);
49 bool IterateFromHead(
void);
50 bool IterateFromTail(
void);
51 bool IterateNext(
void);
52 bool IteratePrev(
void);
53 type& getCurrent(
void);
54 void RemoveCurrentSetNext(
void);
55 void RemoveCurrentSetPrev(
void);
56 bool IsCurrentValid(
void);
57 bool IsCurrentHead(
void);
58 bool IsCurrentTail(
void);
59 void InsertBeforeCurrent(type& which);
60 void InsertAfterCurrent(type& which);
62 void RemoveAllItems(
void);
63 void *getPosition(
void);
64 void setPosition(
void *pos);
67template<
typename type>
68UListItem<type>::UListItem()
73template<
typename type>
82template<
typename type>
88template<
typename type>
89void UList<type>::AddHead(type& head)
94template<
typename type>
95void UList<type>::AddTail(
const type& tail)
101 item->prev = m_top.prev;
102 m_top.prev->next =
item;
108template<
typename type>
109bool UList<type>::IterateFromHead(
void)
111 if (m_top.next == &m_top) {
120template<
typename type>
121bool UList<type>::IterateFromTail(
void)
123 if (m_top.prev == &m_top) {
132template<
typename type>
133bool UList<type>::IterateNext(
void)
137 if (m_at == &m_top) {
145template<
typename type>
146bool UList<type>::IteratePrev(
void)
150 if (m_at == &m_top) {
158template<
typename type>
159type& UList<type>::getCurrent(
void)
164template<
typename type>
165void UList<type>::RemoveCurrentSetNext(
void)
180template<
typename type>
181void UList<type>::RemoveCurrentSetPrev(
void)
196template<
typename type>
197bool UList<type>::IsCurrentValid(
void)
202template<
typename type>
203bool UList<type>::IsCurrentHead(
void)
205 return m_at == &m_top;
208template<
typename type>
209bool UList<type>::IsCurrentTail(
void)
215template<
typename type>
216void UList<type>::InsertBeforeCurrent(type& which)
221template<
typename type>
222void UList<type>::InsertAfterCurrent(type& which)
227 item->next = m_at->next;
229 m_at->next->prev =
item;
235template<
typename type>
236int UList<type>::getCount(
void)
241template<
typename type>
242void UList<type>::RemoveAllItems(
void)
257template<
typename type>
258void *UList<type>::getPosition(
void)
263template<
typename type>
264void UList<type>::setPosition(
void *pos)
Definition uiconsole.h:28