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.

75 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. sortcnt.hxx
  5. Abstract:
  6. This module contains the declaration for the SORTABLE_CONTAINER class.
  7. SORTABLE_CONTAINER is an abstract classe that is derived from the abstract
  8. class SEQUENTIAL_CONTAINER. It not only assumes a sequence but also
  9. assumes that the sequence can be changed by sorting it's contents. That
  10. is the contents have a relative order independent from how they were
  11. placed in the container.
  12. Environment:
  13. ULIB, User Mode
  14. --*/
  15. #if ! defined( _SORTABLE_CONTAINER_ )
  16. #define _SORTABLE_CONTAINER_
  17. #include "seqcnt.hxx"
  18. DECLARE_CLASS( SORTABLE_CONTAINER );
  19. class SORTABLE_CONTAINER : public SEQUENTIAL_CONTAINER {
  20. public:
  21. VIRTUAL
  22. ~SORTABLE_CONTAINER(
  23. );
  24. VIRTUAL
  25. BOOLEAN
  26. Put(
  27. IN OUT POBJECT Member
  28. ) PURE;
  29. VIRTUAL
  30. ULONG
  31. QueryMemberCount(
  32. ) CONST PURE;
  33. VIRTUAL
  34. PITERATOR
  35. QueryIterator(
  36. ) CONST PURE;
  37. VIRTUAL
  38. POBJECT
  39. Remove(
  40. IN OUT PITERATOR Position
  41. ) PURE;
  42. VIRTUAL
  43. BOOLEAN
  44. Sort(
  45. IN BOOLEAN Ascending DEFAULT TRUE
  46. ) PURE;
  47. protected:
  48. DECLARE_CONSTRUCTOR( SORTABLE_CONTAINER );
  49. };
  50. #endif // _SORTABLE_CONTAINER_