home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / C++-7 / DISK10 / MFC / SRC / PLEX.CP$ / plex
Encoding:
Text File  |  1992-01-10  |  1.2 KB  |  51 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library. 
  2. // Copyright (C) 1992 Microsoft Corporation 
  3. // All rights reserved. 
  4. //  
  5. // This source code is only intended as a supplement to the 
  6. // Microsoft Foundation Classes Reference and Microsoft 
  7. // QuickHelp documentation provided with the library. 
  8. // See these sources for detailed information regarding the 
  9. // Microsoft Foundation Classes product. 
  10.  
  11. #include "afx.h"
  12. #pragma hdrstop
  13.  
  14. #include "plex.h"
  15.  
  16. // Collection support
  17. #ifdef AFX_COLL_SEG
  18. #pragma code_seg(AFX_COLL_SEG)
  19. #endif
  20.  
  21. #ifdef _DEBUG
  22. #undef THIS_FILE
  23. static char BASED_CODE THIS_FILE[] = __FILE__;
  24. #endif
  25.  
  26. #define new DEBUG_NEW
  27.  
  28. CPlex* CPlex::Create(CPlex*& pHead, UINT nMax, UINT cbElement)
  29. {
  30.     ASSERT(nMax > 0 && cbElement > 0);
  31.     CPlex* p = (CPlex*) new BYTE[sizeof(CPlex) + nMax * cbElement];
  32.             // may throw exception
  33.     p->nMax = nMax;
  34.     p->nCur = 0;
  35.     p->pNext = pHead;
  36.     pHead = p;  // change head (adds in reverse order for simplicity)
  37.     return p;
  38. }
  39.  
  40. void CPlex::FreeDataChain()     // free this one and links
  41. {
  42.     CPlex* p = this;
  43.     while (p != NULL)
  44.     {
  45.         BYTE* bytes = (BYTE*) p;
  46.         CPlex* pNext = p->pNext;
  47.         delete bytes;
  48.         p = pNext;
  49.     }
  50. }
  51.