#include <genlist.h>
Definition at line 126 of file genlist.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 321 of file genlist.h. 00321 : m_NumberOfLists(0), m_Length(0) //,free_list(0), buffer_list(0), next_avail(0), last(0), 00322 { 00323 ++m_NumberOfLists; 00324 m_Node = GetNode(); 00325 if (m_Node != NULL) 00326 { 00327 (*m_Node).next = m_Node; 00328 (*m_Node).prev = m_Node; 00329 m_bIsValid = TRUE; 00330 } 00331 else 00332 { 00333 m_bIsValid = FALSE; 00334 } 00335 }
|
|
Definition at line 440 of file genlist.h. 00441 { 00442 Erase(Begin(), End()); 00443 PutNode(m_Node); 00444 // if (--m_NumberOfLists == 0) 00445 // { 00446 // deallocate_buffers(); 00447 // } 00448 }
|
|
Definition at line 361 of file genlist.h. 00361 { return *(--End()); }
|
|
Definition at line 360 of file genlist.h. 00360 { return *(--End()); }
|
|
Definition at line 340 of file genlist.h. 00340 { return (LinkType)((*m_Node).next); }
|
|
Definition at line 339 of file genlist.h. 00339 { return (LinkType)((*m_Node).next); }
|
|
Definition at line 353 of file genlist.h. 00353 { return m_Length == 0; }
|
|
Definition at line 342 of file genlist.h. 00342 { return m_Node; }
|
|
Definition at line 341 of file genlist.h. 00341 { return m_Node; }
|
|
Definition at line 570 of file genlist.h. 00571 { 00572 while (!(First == Last)) 00573 { 00574 Erase(First++); 00575 } 00576 }
|
|
Definition at line 395 of file genlist.h. 00396 { 00397 if (m_Length != 0) 00398 { 00399 (*(LinkType((*Position.m_Node).prev))).next = (*Position.m_Node).next; 00400 (*(LinkType((*Position.m_Node).next))).prev = (*Position.m_Node).prev; 00401 Destroy(g_ValueAllocator.Address((*Position.m_Node).data)); 00402 PutNode(Position.m_Node); 00403 --m_Length; 00404 } 00405 else 00406 { 00407 ERROR3("Erase from Empty ListT"); 00408 } 00409 }
|
|
Definition at line 359 of file genlist.h. 00359 { return *(Begin()); } // ++?
|
|
Definition at line 358 of file genlist.h. 00358 { return *(Begin()); } // ++?
|
|
Definition at line 194 of file genlist.h. 00195 { 00196 return new ListNode; 00197 /* Extended Mix 00198 LinkType NodeToReturn; 00199 if (m_FreeList != NULL) 00200 { 00201 LinkType tmp = m_FreeList; 00202 m_FreeList = (LinkType)m_FreeList->next; 00203 NodeToReturn = tmp; 00204 } 00205 else 00206 { 00207 if (m_NextAvail == m_Last) 00208 { 00209 AddNewBuffer(); 00210 } 00211 NodeToReturn = m_NextAvail++; 00212 } 00213 return NodeToReturn; 00214 } 00215 */ 00216 // return free_list ? (free_list = (link_type)(free_list->next), tmp) 00217 // : (next_avail == last ? (add_new_buffer(), next_avail++) : next_avail++); 00218 // ugly code for inlining - avoids multiple returns 00219 }
|
|
Definition at line 368 of file genlist.h. 00369 { 00370 LinkType tmp = GetNode(); 00371 if (tmp != NULL) 00372 { 00373 Construct(g_ValueAllocator.Address((*tmp).data), X); 00374 (*tmp).next = Position.m_Node; 00375 (*tmp).prev = (*Position.m_Node).prev; 00376 (*(LinkType((*Position.m_Node).prev))).next = tmp; 00377 (*Position.m_Node).prev = tmp; 00378 ++m_Length; 00379 } 00380 return tmp; 00381 }
|
|
Definition at line 337 of file genlist.h. 00337 { return m_bIsValid; }
|
|
Definition at line 412 of file genlist.h.
|
|
Definition at line 389 of file genlist.h.
|
|
Definition at line 220 of file genlist.h. 00221 { 00222 delete p; 00223 // p->next = free_list; 00224 // free_list = p; 00225 }
|
|
Definition at line 354 of file genlist.h. 00354 { return m_Length; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|