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.

32 lines
1.0 KiB

  1. #pragma once
  2. class CPositionIndependentHashTable;
  3. class CPositionIndependentHashTableIterator
  4. {
  5. public:
  6. CPositionIndependentHashTableIterator(CPositionIndependentHashTable * = NULL);
  7. ~CPositionIndependentHashTableIterator();
  8. void Reset(CPositionIndependentHashTable * = NULL);
  9. ULONG GetNumberOfElements();
  10. bool GetCurrentElement(PBYTE & Key, PBYTE & Value);
  11. PBYTE GetKey();
  12. PBYTE GetValue();
  13. bool MoveNext();
  14. bool MovePrevious();
  15. bool RemoveCurrentAndMoveNext();
  16. bool RemoveCurrentAndMovePrevious();
  17. //protected:
  18. typedef CPositionIndependentHashTable::CHashTable CHashTable;
  19. typedef CPositionIndependentHashTable::CHashTableBucket CHashTableBucket;
  20. typedef CPositionIndependentHashTable::CHashTableElement CHashTableElement;
  21. CPositionIndependentHashTable * m_PositionIndependentHashTable;
  22. CHashTableBucket * m_PointerToBucket;
  23. PBYTE m_CurrentPosition;
  24. };