Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.0 KiB

  1. //
  2. // saa.h
  3. //
  4. // CSharedAnchorArray
  5. //
  6. #ifndef SAA_H
  7. #define SAA_H
  8. #include "ptrary.h"
  9. //////////////////////////////////////////////////////////////////////////////
  10. //////////////////////////////////////////////////////////////////////////////
  11. //
  12. // CSharedAnchorArray
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. //////////////////////////////////////////////////////////////////////////////
  16. class CSharedAnchorArray : public CPtrArray<IAnchor>
  17. {
  18. public:
  19. CSharedAnchorArray() : CPtrArray<IAnchor>() { _cRef = 1; };
  20. void _AddRef()
  21. {
  22. _cRef++;
  23. }
  24. void _Release()
  25. {
  26. int i;
  27. Assert(_cRef > 0);
  28. if (--_cRef == 0)
  29. {
  30. for (i=0; i<Count(); i++)
  31. {
  32. SafeRelease(Get(i));
  33. }
  34. delete this;
  35. }
  36. }
  37. static CSharedAnchorArray *_MergeSort(CSharedAnchorArray **rgArrays, ULONG cArrays);
  38. private:
  39. ULONG _cRef;
  40. };
  41. #endif // SAA_H