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.

79 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. Environment:
  14. ULIB, User Mode
  15. --*/
  16. #if ! defined( _SEQUENTIAL_CONTAINER_ )
  17. #define _SEQUENTIAL_CONTAINER_
  18. #include "contain.hxx"
  19. DECLARE_CLASS( SEQUENTIAL_CONTAINER );
  20. DECLARE_CLASS( ITERATOR );
  21. class SEQUENTIAL_CONTAINER : public CONTAINER {
  22. FRIEND class ITERATOR;
  23. public:
  24. VIRTUAL
  25. ~SEQUENTIAL_CONTAINER(
  26. );
  27. VIRTUAL
  28. BOOLEAN
  29. Put(
  30. IN OUT POBJECT Member
  31. ) PURE;
  32. VIRTUAL
  33. ULONG
  34. QueryMemberCount(
  35. ) CONST PURE;
  36. VIRTUAL
  37. ULIB_EXPORT
  38. BOOLEAN
  39. DeleteAllMembers(
  40. );
  41. VIRTUAL
  42. PITERATOR
  43. QueryIterator(
  44. ) CONST PURE;
  45. VIRTUAL
  46. POBJECT
  47. Remove(
  48. IN OUT PITERATOR Position
  49. ) PURE;
  50. protected:
  51. DECLARE_CONSTRUCTOR( SEQUENTIAL_CONTAINER );
  52. };
  53. #endif // _SEQUENTIAL_CONTAINER_