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.

83 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. seqcnt.hxx
  5. Abstract:
  6. This module contains the declaration for the SEQUENTIAL_CONTAINER class.
  7. SEQUENTIAL_CONTAINER is a fairly primitive class which augments the
  8. CONTAINER class by adding the capability that the objects stored in the
  9. container have some sort of sequenced relationship. This means that
  10. OBJECTs can be queried from SEQUENTIAL_CONTAINERs by the use of an
  11. ITERATOR and that the concepts first, last, next and previous have
  12. meaning.
  13. Author:
  14. David J. Gilman (davegi) 29-Oct-1990
  15. Environment:
  16. ULIB, User Mode
  17. --*/
  18. #if ! defined( _SEQUENTIAL_CONTAINER_ )
  19. #define _SEQUENTIAL_CONTAINER_
  20. #include "contain.hxx"
  21. DECLARE_CLASS( SEQUENTIAL_CONTAINER );
  22. DECLARE_CLASS( ITERATOR );
  23. class SEQUENTIAL_CONTAINER : public CONTAINER {
  24. FRIEND class ITERATOR;
  25. public:
  26. VIRTUAL
  27. ~SEQUENTIAL_CONTAINER(
  28. );
  29. VIRTUAL
  30. BOOLEAN
  31. Put(
  32. IN OUT POBJECT Member
  33. ) PURE;
  34. VIRTUAL
  35. ULONG
  36. QueryMemberCount(
  37. ) CONST PURE;
  38. VIRTUAL
  39. ULIB_EXPORT
  40. BOOLEAN
  41. DeleteAllMembers(
  42. );
  43. VIRTUAL
  44. PITERATOR
  45. QueryIterator(
  46. ) CONST PURE;
  47. VIRTUAL
  48. POBJECT
  49. Remove(
  50. IN OUT PITERATOR Position
  51. ) PURE;
  52. protected:
  53. DECLARE_CONSTRUCTOR( SEQUENTIAL_CONTAINER );
  54. };
  55. #endif // _SEQUENTIAL_CONTAINER_